 /* ======================
   SEARCH BAR NAV
====================== */
/* ===== Mobile hamburger panel ===== */

/* su mobile: nascondi icone desktop (cerca/shop) */
@media (max-width: 992px){
  .topbar-right{ display:none; }
  .topbar-left{ display:none; }
  .topbar-burger{ display:block; }
}
a {
  outline: none;
}

a:focus {
  outline: none;
}
a:visited {
  color: inherit;
}
.scritta-logo{
  position: relative;
  display: inline-block; /* IMPORTANTISSIMO */
}

.logo-wrapper{
  position: relative;
  display: inline-block;
}

.fiore-left{
  position: absolute;
  width: 100px;
  left: -100px;
  top: 50%;
  transform: translateY(-50%) rotate(-10deg);
  pointer-events: none;
}

/* mobile */
@media (max-width: 768px){
  .fiore-left{
    width: 50px;
    left: -60px;
  }
}

/* pannello */
.mobile-panel{
  position:absolute;
  left:0;
  right:0;
  top: calc(100% + 10px);
  opacity:0;
  pointer-events:none;
  transform: translateY(-8px);
  transition: all .25s ease;
  z-index: 120;
}
.bg-titolo-amati{
  padding: 10px 5px 10px 5px;
    border-radius: 6px;
    margin: 0;
    display: inline;
    background-color: #ffffff;
}

.mobile-panel.open{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0);
}
.card-nome-prezzi{
  
    background-color: #ffffff;
    width: fit-content;
    max-width: 100%;
    margin: auto;
    border-radius: 10px;
    color: #111;
    padding: 4px 10px;
}

.mobile-panel-inner{
  background:#fff;
  border:0;
  border-radius:18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  padding: 14px;
}

/* overlay blur */
.mobile-overlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.10);
  backdrop-filter: blur(5px);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease;
  z-index:110;
}
.mobile-overlay.open{
  opacity:1;
  pointer-events:auto;
}

/* bottoni in alto (cerca/shop) */
.mobile-actions{
  display:flex;
  gap:10px;
  margin-bottom: 12px;
}

.mobile-actions button,
.mobile-actions a{
  flex:1;
  border-radius:14px;
  padding: 12px 14px;
  font-weight: 800;
  text-align:center;
  text-decoration:none;
  background:#f6f6f4;
  color:#111;
}

/* search dentro pannello */
.mobile-search{ display:none; margin-bottom: 12px; }
.mobile-search.open{ display:block; }

.mobile-search form{
  display:flex;
  gap:10px;
  background:#fff;
  border:0;
  border-radius:16px;
  padding:10px;
}
.mobile-search input{
  flex:1;
  border:0;
  outline:none;
  font-size:16px;
  padding:10px;
}
.mobile-search button{
  border:0;
  border-radius:12px;
  padding:10px 16px;
  font-weight:900;
  background:#99B890;
  color:#fff;
}
.img-lista{
      height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 13px;
}
/* menu wp verticale */
.mobile-menu-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.mobile-menu-list a{
  display:block;
  padding: 12px 14px;
  border-radius: 14px;
  text-decoration:none;
  color:#111;
  font-weight: 800;
  background: rgba(153,184,144,.12);
}
.mobile-menu-list a:hover{
  background: rgba(153,184,144,.20);
}
body.search-open::before{
  content:"";
  position:fixed;
  inset:0;
  backdrop-filter: blur(6px);
  background:rgba(255,255,255,.2);
  z-index:90;
}
.topbar-search{
  position:absolute;
  left:50%;
  transform:translateX(-50%) translateY(-10px);
  top:100%;
  width:100%;
  max-width:600px;

  opacity:0;
  pointer-events:none;
  transition: all .35s ease;
}
.search-toggle.active svg {
  transform: rotate(90deg);
  transition: .25s ease;
}

.topbar-search.active{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(10px);
}

.topbar-search form{
  display:flex;
  gap:10px;
  background:#fff;
  border-radius:16px;
  padding:10px;
  box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.topbar-search input{
  flex:1;
  border:0;
  outline:none;
  font-size:16px;
  padding:10px;
  background:transparent;
}

.topbar-search button{
  border:0;
  border-radius:12px;
  padding:10px 16px;
  font-weight:700;
  background:#99B890;
  color:white;
  cursor:pointer;
}
 /* nav */
 
 :root{

  --nav-shadow: 0 10px 0 rgba(0, 0, 0, 0.212);
  --icon-color: #1e1a4d; /* blu/viola icone */
  --amati-thumb-w: 160px;
  --amati-thumb-h: 196px;
}

/* wrapper */
.topbar-wrap{
  padding-top: 14px;
}

/* barra */
.topbar{
  position: relative;
  height: 78px;
  background: #fff;
  border: 2px solid var(--nav-border);
  border-radius: 18px;
  box-shadow: var(--nav-shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  gap: 18px;
}

/* menu wp */
.topbar-left{ display:flex; align-items:center; min-width: 320px; }
.topbar-menu{
  list-style:none;
  display:flex;
  align-items:center;
  gap: 28px;
  margin: 0;
  padding: 0;
}
.colore-icone{
  color:#111;
}
.topbar-menu li{ margin:0; }
.topbar-menu a{
  color:#111;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  text-transform: lowercase;
}
.topbar-menu a:hover{ opacity:.75; }
@media (max-width: 992px){
  .topbar-search{ display:none !important; }
}
/* logo centrale che “sbuca” */
.topbar-center{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-18px;
  width: 92px;
  height: 92px;
  display:grid;
  place-items:center;
}
.topbar-center img{
  width: 92px;
  height: 92px;
  object-fit: cover;
  display:block;
}
/* Mobile: logo/mongolfiera a sinistra */
@media (max-width: 992px){
  .topbar-center{
    left: -7px;                 /* distanza dal bordo */
    transform: translateX(0);   /* niente centratura */
    top: -16px;                 /* come prima */
  }
}

/* icone a destra */
.topbar-right{
  display:flex;
  align-items:center;
  gap: 26px;
  min-width: 220px;
  justify-content:flex-end;
}
.iconlink{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-decoration:none;
  color: var(--icon-color);
  gap: 4px;
}
.icon{
  width:22px;
  height:22px;
  display:inline-flex;
}
.icon svg{ width:22px; height:22px; }
.iconlabel{
  font-size:12px;
  font-weight:600;
  text-transform: lowercase;
}

/* Burger (opzionale, ora solo estetico) */
.topbar-burger{
  display:none;
  background:transparent;
  border:0;
  padding:0;
  margin-left: 10px;
  box-shadow: none !important;
}

.topbar-burger,
.topbar-burger:hover,
.topbar-burger:focus,
.topbar-burger:active {
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}
.topbar-burger span{
  display:block;
  width: 22px;
  height: 2px;
  background:#111;
  margin: 4px 0;
  border-radius: 999px;
}

/* responsive */
@media (max-width: 992px){
  .topbar-burger{ display:block; }
  .topbar-left{ display:none; } /* come nel tuo screenshot: su mobile puoi far sparire */
  .topbar{ padding: 0 16px; height: 74px; }
  .topbar-center{ top:-16px; width: 86px; height:86px; }
  .topbar-center img{ width:86px; height:86px; }
}
 
 /* body input generali */
 body{
    background-color: white;
    margin-bottom: 0 !important;
 }
 /* più amati */
 
/* classi nav */
.main-navigation {
    height: 60px;
    border-radius: 13px;
    
}
#hero {

    height: 100vh;
    width: 100vw;
}
.hero-sfondo{
    height: 100vh;
z-index: -1;
}
/* parametri per un testo */
.bg-testo{
    margin-bottom: 0px !important;
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    text-align: center;
}
p .bg-testo {
font-size: 18px;
}
/* logo */
.logo{
    height: 50px;
    width: auto;
    object-fit: cover;
}
/* tutti i font */

/* immagini della hero */
 .img-prima-imagine-hero{
height: 20vh;
width:auto ;
  top: 10%;
  right: 10%;
}
.img-seconda-imagine-hero{
top: 40%;
width:auto ;
    left: 0%;
    height: 15vh;
}
.img-terza-imagine-hero{
   height: 10vh;
   width:auto ;
  top: 70%;
  right: 0%;
} 
 /* scritta dondue */
.scritta-dondue-hero{
font-size: 50px;
}
/* parte baby list */
.entra-lista, .crea-lista{
    height: 400px;
    width: 100%;
    max-width: 400px;
    background-color: #0b0e11;
    border-radius: 13px;
    position: relative;
    overflow: hidden;
}

.entra-lista::after,
.crea-lista::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(
    circle at center,
    rgba(0, 0, 0, 0.26) 0%,
    rgba(0, 0, 0, 0.18) 40%,
    rgba(0, 0, 0, 0.08) 70%,
    rgba(0, 0, 0, 0) 100%
  );
}
.titolo-curvo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(90%, 360px);
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
}

.titolo-curvo-testo {
  font-family: 'Bimbo-Jumbo', sans-serif;
  font-size: 28px;
  fill: #fff;
  letter-spacing: 0.5px;
  text-transform: lowercase;
}

@media (max-width: 768px) {
  .titolo-curvo-testo {
    font-size: 22px;
  }
}
/* i più amati */
.amati-home-decorazioni{
  height: 100%;
  width: 100%;
  object-fit: cover;

}

#piu-amati{
    width: 100%;
}
/* media query da pc */
@media screen and (min-width: 992px) {
  .scritta-dondue-hero{
    font-size: 200px;
  }
}
/* stili font */
@font-face {
    font-family: 'Bimbo-Jumbo';
    src: url('fonts/Bimbo-Jumbo.woff2') format('woff2'),
         url('fonts/Bimbo-Jumbo.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
.bimbo-font {
    font-family: 'Bimbo-Jumbo', sans-serif;
}
@font-face {
    font-family: 'BimboJVE';
    src: url('fonts/BimboJVE.woff2') format('woff2'),
         url('fonts/BimboJVE.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
.bimbostampatello-font , .nav-link ,.iconlabel{
    font-family: 'BimboJVE', sans-serif;
}
.scritta-dondue-hero{
  /* dimensione responsive */
  font-size: clamp(64px, 11vw, 200px);
  line-height: 0.9;
}

.scritta-logo{
  color: #99B890;

  /* bordo chiaro responsive */
  -webkit-text-stroke: clamp(6px, 1.2vw, 14px) #EAF1EA;
  paint-order: stroke fill;

  /* ombra morbida */
  text-shadow:
    0 clamp(2px, .5vw, 6px) 0 rgba(0,0,0,0.15),
    0 clamp(10px, 2vw, 22px) clamp(14px, 3vw, 35px) rgba(0,0,0,0.12);

  letter-spacing: 1px;
}
.scritta-dondue-hero{ font-size: clamp(52px, 11vw, 200px); }
.topbar-menu a ,.iconlabel{
    font-size: 17px;
}
/* svg + parte prodotti */
.section-decor {
    position: relative;
        z-index: 0;
}
 .section-decor {
    position: relative;
}
.section-decor::before {
    content: "";
    position: absolute; 
    width: var(--amati-thumb-w);
    height: var(--amati-thumb-h);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--accent-color);
/* ombra interna  */
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.25);
    /* Chrome / Safari */
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 117 133' xmlns='http://www.w3.org/2000/svg'><path d='M90.2693 27.4858C74.4785 25.61 39.7342 22.9839 27.0837 27.4858C11.2705 33.1131 90.6714 47.6929 91.3414 49.7392C92.0115 51.7855 28.3567 55.8781 27.0837 61.2496C26.0653 65.5468 87.1815 71.0417 88.7283 72.2484C90.275 73.4552 31.927 82.2963 33.2482 87.3398C34.5694 92.3834 81.8212 92.4556 81.5588 96.804C81.2964 101.152 52.2106 107.291 52.2106 107.291' stroke='white' stroke-width='50' stroke-linecap='round' fill='none'/></svg>");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;

    /* Firefox */
      mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 117 133' xmlns='http://www.w3.org/2000/svg'><path d='M90.2693 27.4858C74.4785 25.61 39.7342 22.9839 27.0837 27.4858C11.2705 33.1131 90.6714 47.6929 91.3414 49.7392C92.0115 51.7855 28.3567 55.8781 27.0837 61.2496C26.0653 65.5468 87.1815 71.0417 88.7283 72.2484C90.275 73.4552 31.927 82.2963 33.2482 87.3398C34.5694 92.3834 81.8212 92.4556 81.5588 96.804C81.2964 101.152 52.2106 107.291 52.2106 107.291' stroke='white' stroke-width='50' stroke-linecap='round' fill='none'/></svg>");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;

    z-index:-1;
}

#piu-amati .img-amati img,
.category-card .img-fluid,
.product-card .img-fluid {
  width: var(--amati-thumb-w);
  height: var(--amati-thumb-h);
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* =========================
   Cards (categorie / prodotti)
========================= */

.category-card,
.product-card {

  border-radius: 13px;
  transition: transform 0.25s ease;
}

.category-card:hover,
.product-card:hover {
  transform: translateY(-5px);
}

.category-card a,
.product-card a {
  text-decoration: none;
  color: inherit;
}

.home-section .category-card,
.home-section .product-card {
  background: transparent;
  padding: 0 !important;
}

.home-section .category-card a,
.home-section .product-card a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.home-section .home-card-media {
  width: 100%;
  min-height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-section .home-card-media .img-fluid {
  margin-bottom: 0 !important;
}

.home-section .home-card-name-price {
  width: fit-content;
  max-width: 100%;
}

.home-section .home-card-name-price .bg-testo {
  margin-bottom: 0 !important;
}

.home-section .home-card-name-price .woocommerce-Price-amount {
  font-family: 'BimboJVE', sans-serif;
}

@media (max-width: 768px) {
  .home-section .home-card-name-price {
    width: fit-content;
    max-width: 100%;
  }
}

/* Badge NEW */
.badge-new {
  position: absolute;
  top: 8px;
  left: 15px;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  background-image: url('img/cuore.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  color: #fff;
  font-size: 14px;
  font-family: 'Bimbo-Jumbo', sans-serif;
  line-height: 1;
  z-index: 3;
  padding: 0;
}

/* =========================
   Side flower/star + text overlay
========================= */

.side-flower-wrapper {
  position: relative;
  display: inline-block;
  max-width: 100px; /* wrapper leggermente più grande di 80px */
}

.side-flower-link {
  position: relative;
  display: inline-block;
}

.side-flower {
  display: block;
  max-width: 80px; /* ✅ come richiesto */
  height: auto;
  transition: transform 0.25s ease;
}

/* testo centrato sopra l'immagine */
.flower-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-weight: 800;
  font-size: 20px; /* proporzionato a 80px */
  letter-spacing: 1px;
  color: #000;
  text-transform: uppercase;
  pointer-events: none; /* click resta sul link */
}

.side-flower-link:hover .side-flower {
  transform: scale(1.08);
}

/* Mobile: va sotto e resta centrato (Bootstrap lg = 992px) */
@media (max-width: 991px) {
  .side-flower-wrapper {
    margin-top: 15px;
  }
} 


.fascia-verde{
  width: 100%;
  background-color: #99B890;
  padding: 80px 0; /* altezza fascia */

  /* ombra interna morbida */
  box-shadow: inset 0 15px 30px rgba(0,0,0,0.15),
              inset 0 -15px 30px rgba(0,0,0,0.15);
}

#catalogo {
  position: relative;
  padding-bottom: 90px;
}

.catalogo-intro {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.titolo-curvo-catalogo {
  width: min(90vw, 360px);
  height: auto;
  margin-bottom: -42px;
  position: relative;
  z-index: 2;
}

.titolo-curvo-catalogo text {
  font-family: 'Bimbo-Jumbo', sans-serif;
  font-size: 52px;
  fill: #e8a18f;
  -webkit-text-stroke: 1px #f6d6cc;
  paint-order: stroke fill;
  letter-spacing: 1px;
  text-transform: lowercase;
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.05));
}

.mongolfiera-catalogo {
  width: min(54vw, 220px);
  height: auto;
  display: block;
}

@media (max-width: 768px) {
  .titolo-curvo-catalogo text {
    font-size: 44px;
  }

  .mongolfiera-catalogo {
    width: min(62vw, 200px);
  }
}

/* =========================
   Single product (WooCommerce)
========================= */

.single-product .site-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 120px 8px 40px;
}

.single-product .woocommerce-breadcrumb {
  display: none;
}

.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%);
  background: #f0f0f0;
  border: 2px solid #1f1f1f;
  min-height: 720px;
  overflow: hidden;
}

.single-product div.product div.images,
.single-product div.product div.summary {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.single-product div.product div.images {
  position: relative;
  padding: 56px 36px;
  min-height: 680px;
  display: grid;
  place-items: center;
}

.single-product div.product div.images::before,
.single-product .woocommerce-product-gallery::before {
  content: "";
  position: absolute;
  width: min(78%, 430px);
  height: min(84%, 520px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url('img/bg-singolo-prodotto.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}

.single-product div.product div.images .woocommerce-product-gallery__wrapper,
.single-product div.product div.images .woocommerce-product-gallery__image {
  position: relative;
  z-index: 2;
}

.single-product div.product div.images img.wp-post-image {
  width: min(92%, 470px);
  max-height: 540px;
  object-fit: contain;
}

.single-product .flex-control-thumbs {
  display: none;
}

.single-product div.product div.summary {
  border-left: 1px solid #d9d9d9;
  padding: 42px 30px 30px;
}

.single-product div.product .product_title {
  margin: 0 0 10px;
  font-family: 'BimboJVE', sans-serif !important;
  font-size: clamp(30px, 3.1vw, 48px);
  line-height: 1;
  color: #171717;
}

.single-product div.product .woocommerce-product-details__short-description {
  margin: 0 0 24px;
  color: #4a4a4a;
}

.single-product div.product .woocommerce-product-details__short-description p {
  margin: 0;
  max-width: 45ch;
  line-height: 1.45;
}

.single-product div.product .price,
.single-product div.product .woocommerce-product-rating,
.single-product div.product .product_meta,
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .up-sells {
  display: none !important;
}

.single-product form.cart {
  margin-top: 6px;
}

.single-product form.cart .quantity {
  display: none !important;
}

.single-product form.cart .variations {
  border: 0;
  margin: 0 0 26px;
}

.single-product form.cart .variations tr {
  display: block;
  margin-bottom: 22px;
}

.single-product form.cart .variations th,
.single-product form.cart .variations td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  text-align: left;
}

.single-product form.cart .variations label {
  display: inline-block;
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1;
  color: #202020;
  text-transform: lowercase;
}

.single-product form.cart .variations select {
  min-height: 52px;
  width: min(100%, 430px);
  border: 0;
  border-radius: 6px;
  background: #dbdbdb;
  color: #1e1e1e;
  padding: 0 14px;
}

.single-product .reset_variations {
  display: none !important;
}

.single-product .woocommerce-product-attributes {
  display: none !important;
}

.single-product .variable-items-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.single-product .variable-items-wrapper .variable-item {
  width: 66px;
  height: 66px;
  border: 0;
  border-radius: 4px;
  box-shadow: none;
}

.single-product .variable-items-wrapper .variable-item:not(.color-variable-item) {
  background: #d3d3d3;
}

.single-product .variable-items-wrapper .variable-item .variable-item-span {
  color: #111;
}

.single-product button.single_add_to_cart_button.button.alt {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 4px;
  background: #161616;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  text-transform: lowercase;
  letter-spacing: 0;
}

.single-product .woocommerce-variation-add-to-cart {
  display: block !important;
}

@media (max-width: 991px) {
  .single-product .site-main {
    padding: 100px 8px 24px;
  }

  .single-product div.product {
    grid-template-columns: 1fr;
    min-height: auto;
    border-width: 1px;
  }

  .single-product div.product div.images {
    min-height: 360px;
    padding: 28px 18px;
  }

  .single-product div.product div.images::before,
  .single-product .woocommerce-product-gallery::before {
    width: min(86%, 290px);
    height: min(80%, 340px);
  }

  .single-product div.product div.images img.wp-post-image {
    max-height: 320px;
  }

  .single-product div.product div.summary {
    border-left: 0;
    border-top: 1px solid #d9d9d9;
    padding: 26px 18px 20px;
  }

  .single-product div.product .product_title {
    font-size: clamp(26px, 9vw, 42px);
  }

  .single-product form.cart .variations label {
    font-size: 24px;
  }

  .single-product .variable-items-wrapper .variable-item {
    width: 56px;
    height: 56px;
  }

  .single-product button.single_add_to_cart_button.button.alt {
    min-height: 52px;
    font-size: 28px;
  }
}

/* =========================
   Shop archive
========================= */

.woocommerce-loop-product__title {
  font-family: 'BimboJVE', sans-serif !important;
}

body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main {
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 94px;
}

.shop-hero-panel {
  background: transparent;
  min-height: 440px;
  padding: 28px 22px 34px;
}

.shop-products-container {
  background: transparent;
}

.woocommerce .product,
.woocommerce-page .product,
.single-product div.product {
  background: transparent !important;
}

.shop-hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  gap: 22px;
}

.shop-hero-categories {
  order: 2;
  align-self: center;
}

.shop-hero-title {
  margin: 0 0 18px;
  font-size: 54px;
  line-height: 1;
  color: #1f1f1f;
  text-transform: lowercase;
  text-align: center;
}

.shop-hero-categories-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  max-width: none;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.shop-hero-category-item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #222;
  gap: 7px;
}

.shop-hero-category-thumb {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  padding: 8px;
  position: relative;
}

.shop-hero-category-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
  z-index: 2;
}

.shop-hero-category-name {
  font-size: 18px;
  line-height: 1;
  text-transform: lowercase;
  text-align: center;
}

.shop-hero-category-item.is-active .shop-hero-category-thumb::before {
  content: "";
  position: absolute;
  width: 86px;
  height: 42px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #99b890;
  -webkit-mask-image: url('img/Group%20(3).png');
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-image: url('img/Group%20(3).png');
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  z-index: 1;
}

.shop-hero-brand {
  order: 1;
  margin-top: 0;
  text-align: center;
}

.shop-hero-curve {
  width: min(72vw, 260px);
  margin: 0 auto -34px;
  display: block;
}

.shop-hero-curve text {
  font-family: 'Bimbo-Jumbo', sans-serif;
  font-size: 38px;
  fill: #e8a18f;
  -webkit-text-stroke: 1px #f3d5cb;
  text-transform: lowercase;
}

.shop-hero-balloon {
  width: min(28vw, 120px);
  height: auto;
  display: block;
  margin: 0 auto;
}

body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title,
body.post-type-archive-product .term-description,
body.tax-product_cat .term-description,
body.tax-product_tag .term-description,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
  display: none !important;
}

body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce {
  background:
    repeating-linear-gradient(
      90deg,
      #f1f1f1 0 44px,
      #e8e8e8 44px 66px
    );
  border-top: 5px solid rgba(255, 255, 255, 0.45);
  padding: 34px 0 50px;
}

body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0 !important;
}

body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after,
body.tax-product_tag .woocommerce ul.products::before,
body.tax-product_tag .woocommerce ul.products::after {
  display: none;
}

body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  text-align: center;
  position: relative;
  padding: 0 10px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: calc(var(--amati-thumb-h) + 156px);
}

body.post-type-archive-product .woocommerce ul.products li.product::after,
body.tax-product_cat .woocommerce ul.products li.product::after,
body.tax-product_tag .woocommerce ul.products li.product::after {
  display: none;
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  color: #1e1e1e;
  position: relative;
  width: 100%;
  min-height: calc(var(--amati-thumb-h) + 146px);
  gap: 4px;
  padding: 0 8px 12px;
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link::before,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link::before,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__link::before {
  content: "";
  position: absolute;
  top: 56px;
  width: var(--amati-thumb-w);
  height: var(--amati-thumb-h);
  background: #99B890;
  box-shadow: inset 0 4px 10px rgba(0, 0, 0, 0.25);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 117 133' xmlns='http://www.w3.org/2000/svg'><path d='M90.2693 27.4858C74.4785 25.61 39.7342 22.9839 27.0837 27.4858C11.2705 33.1131 90.6714 47.6929 91.3414 49.7392C92.0115 51.7855 28.3567 55.8781 27.0837 61.2496C26.0653 65.5468 87.1815 71.0417 88.7283 72.2484C90.275 73.4552 31.927 82.2963 33.2482 87.3398C34.5694 92.3834 81.8212 92.4556 81.5588 96.804C81.2964 101.152 52.2106 107.291 52.2106 107.291' stroke='white' stroke-width='50' stroke-linecap='round' fill='none'/></svg>");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 117 133' xmlns='http://www.w3.org/2000/svg'><path d='M90.2693 27.4858C74.4785 25.61 39.7342 22.9839 27.0837 27.4858C11.2705 33.1131 90.6714 47.6929 91.3414 49.7392C92.0115 51.7855 28.3567 55.8781 27.0837 61.2496C26.0653 65.5468 87.1815 71.0417 88.7283 72.2484C90.275 73.4552 31.927 82.2963 33.2482 87.3398C34.5694 92.3834 81.8212 92.4556 81.5588 96.804C81.2964 101.152 52.2106 107.291 52.2106 107.291' stroke='white' stroke-width='50' stroke-linecap='round' fill='none'/></svg>");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  z-index: 0;
}

body.post-type-archive-product .woocommerce ul.products li.product img,
body.tax-product_cat .woocommerce ul.products li.product img,
body.tax-product_tag .woocommerce ul.products li.product img {
  width: var(--amati-thumb-w);
  height: var(--amati-thumb-h);
  max-width: 100%;
  object-fit: contain;
  margin: 0 0 8px !important;
  position: relative;
  z-index: 2;
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
  width: fit-content;
  max-width: min(96%, 230px);
  margin: 8px auto 0;
  font-family: 'BimboJVE', sans-serif !important; /* .bimbostampatello-font */
  font-size: 30px;
  line-height: 1;
  text-transform: lowercase;
  color: #000 !important;
  text-align: center;
  position: relative;
  z-index: 2;
  min-height: 0;
  display: inline-block;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  background: #fff;
  border-radius: 10px;
  padding: 5px 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price {
  width: fit-content;
  max-width: min(96%, 230px);
  margin: 4px auto 0;
  font-family: 'BimboJVE', sans-serif !important; /* .bimbostampatello-font */
  font-size: 26px;
  line-height: 1;
  color: #000 !important;
  text-align: center;
  position: relative;
  z-index: 2;
  min-height: 0;
  background: #fff;
  border-radius: 10px;
  padding: 4px 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

body.post-type-archive-product .woocommerce ul.products li.product .price *,
body.tax-product_cat .woocommerce ul.products li.product .price *,
body.tax-product_tag .woocommerce ul.products li.product .price * {
  font-family: 'BimboJVE', sans-serif !important;
  color: #000 !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .price del,
body.post-type-archive-product .woocommerce ul.products li.product .price ins,
body.tax-product_cat .woocommerce ul.products li.product .price del,
body.tax-product_cat .woocommerce ul.products li.product .price ins,
body.tax-product_tag .woocommerce ul.products li.product .price del,
body.tax-product_tag .woocommerce ul.products li.product .price ins {
  display: inline;
  text-decoration: none;
}

body.post-type-archive-product .woocommerce ul.products li.product .price del,
body.tax-product_cat .woocommerce ul.products li.product .price del,
body.tax-product_tag .woocommerce ul.products li.product .price del {
  opacity: 0.7;
  margin-right: 6px;
}

body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .button,
body.post-type-archive-product .woocommerce span.onsale,
body.tax-product_cat .woocommerce span.onsale,
body.tax-product_tag .woocommerce span.onsale {
  display: none !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .price {
  font-weight: normal;
}

@media (max-width: 991px) {
  .shop-hero-panel {
    min-height: 340px;
    padding: 18px 14px 24px;
  }

  .shop-hero-inner {
    min-height: 0;
    gap: 20px;
  }

  .shop-hero-brand {
    order: 1;
    margin-top: 0;
  }

  .shop-hero-categories {
    order: 2;
    align-self: center;
  }

  .shop-hero-curve {
    width: min(72vw, 230px);
    margin-bottom: -28px;
  }

  .shop-hero-curve text {
    font-size: 34px;
  }

  .shop-hero-balloon {
    width: min(26vw, 100px);
  }

  .shop-hero-categories {
    align-self: center;
  }

  .shop-hero-title {
    font-size: 46px;
    margin-bottom: 14px;
    text-align: center;
  }

  .shop-hero-categories-list {
    max-width: none;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
  }

  .shop-hero-category-item {
    min-width: 92px;
  }

  body.post-type-archive-product .woocommerce,
  body.tax-product_cat .woocommerce,
  body.tax-product_tag .woocommerce {
    padding: 24px 0 30px;
  }

  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 12px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link::before,
  body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link::before,
  body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__link::before {
    top: 48px;
    width: 108px;
    height: 132px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product img,
  body.tax-product_cat .woocommerce ul.products li.product img,
  body.tax-product_tag .woocommerce ul.products li.product img {
    width: min(92%, 132px);
    height: 162px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
    max-width: min(92%, 180px);
    font-size: 24px;
    padding: 4px 10px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .price,
  body.tax-product_cat .woocommerce ul.products li.product .price,
  body.tax-product_tag .woocommerce ul.products li.product .price {
    max-width: min(92%, 180px);
    font-size: 20px;
    padding: 4px 10px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link,
  body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link,
  body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__link {
    min-height: 252px;
  }

  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.tax-product_tag .woocommerce ul.products li.product {
    min-height: 270px;
  }
}

/* =========================
   Shop cards hard override
========================= */

.shop-products-container ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.shop-products-container ul.products::before,
.shop-products-container ul.products::after {
  content: none !important;
  display: none !important;
}

.shop-products-container ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  text-align: center;
  position: relative;
  padding: 0 10px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: calc(var(--amati-thumb-h) + 156px);
  list-style: none !important;
}

.shop-products-container ul.products li.product::after {
  display: none !important;
}

.shop-products-container ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none !important;
  color: #1e1e1e;
  position: relative;
  width: 100%;
  min-height: calc(var(--amati-thumb-h) + 146px);
  gap: 4px;
  padding: 0 8px 12px;
}

.shop-products-container ul.products li.product .woocommerce-loop-product__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--amati-thumb-w);
  height: var(--amati-thumb-h);
  transform: translateX(-50%);
  background: #99B890;
  box-shadow: inset 0 4px 10px rgba(0, 0, 0, 0.25);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 117 133' xmlns='http://www.w3.org/2000/svg'><path d='M90.2693 27.4858C74.4785 25.61 39.7342 22.9839 27.0837 27.4858C11.2705 33.1131 90.6714 47.6929 91.3414 49.7392C92.0115 51.7855 28.3567 55.8781 27.0837 61.2496C26.0653 65.5468 87.1815 71.0417 88.7283 72.2484C90.275 73.4552 31.927 82.2963 33.2482 87.3398C34.5694 92.3834 81.8212 92.4556 81.5588 96.804C81.2964 101.152 52.2106 107.291 52.2106 107.291' stroke='white' stroke-width='50' stroke-linecap='round' fill='none'/></svg>");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 117 133' xmlns='http://www.w3.org/2000/svg'><path d='M90.2693 27.4858C74.4785 25.61 39.7342 22.9839 27.0837 27.4858C11.2705 33.1131 90.6714 47.6929 91.3414 49.7392C92.0115 51.7855 28.3567 55.8781 27.0837 61.2496C26.0653 65.5468 87.1815 71.0417 88.7283 72.2484C90.275 73.4552 31.927 82.2963 33.2482 87.3398C34.5694 92.3834 81.8212 92.4556 81.5588 96.804C81.2964 101.152 52.2106 107.291 52.2106 107.291' stroke='white' stroke-width='50' stroke-linecap='round' fill='none'/></svg>");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  z-index: 1;
  pointer-events: none;
}

.shop-products-container ul.products li.product img {
  width: var(--amati-thumb-w) !important;
  height: var(--amati-thumb-h) !important;
  max-width: 100%;
  object-fit: contain;
  margin: 0 0 8px !important;
  position: relative;
  z-index: 2 !important;
}

.shop-products-container ul.products li.product .woocommerce-loop-product__title {
  width: fit-content;
  max-width: min(96%, 230px);
  margin: 8px auto 0;
  font-family: 'BimboJVE', sans-serif !important;
  font-size: 30px;
  line-height: 1;
  text-transform: lowercase;
  color: #000 !important;
  text-align: center;
  position: relative;
  z-index: 2;
  min-height: 0;
  display: inline-block;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  background: #fff;
  border-radius: 10px;
  padding: 5px 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.shop-products-container ul.products li.product .price {
  width: fit-content;
  max-width: min(96%, 230px);
  margin: 4px auto 0;
  font-family: 'BimboJVE', sans-serif !important;
  font-size: 26px;
  line-height: 1;
  color: #000 !important;
  text-align: center;
  position: relative;
  z-index: 2;
  min-height: 0;
  background: #fff;
  border-radius: 10px;
  padding: 4px 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.shop-products-container ul.products li.product .price *,
.shop-products-container ul.products li.product .woocommerce-loop-product__title * {
  font-family: 'BimboJVE', sans-serif !important;
  color: #000 !important;
}

.shop-products-container ul.products li.product .price del,
.shop-products-container ul.products li.product .price ins {
  display: inline;
  text-decoration: none;
}

.shop-products-container ul.products li.product .price del {
  opacity: 0.7;
  margin-right: 6px;
}

.shop-products-container ul.products li.product .button,
.shop-products-container ul.products li.product a.button,
.shop-products-container ul.products li.product .added_to_cart,
.shop-products-container ul.products li.product .onsale {
  display: none !important;
}

@media (max-width: 991px) {
  .shop-products-container ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
  }

  .shop-products-container ul.products li.product .woocommerce-loop-product__link::before {
    width: 132px;
    height: 162px;
  }

  .shop-products-container ul.products li.product img {
    width: min(92%, 132px) !important;
    height: 162px !important;
  }

  .shop-products-container ul.products li.product .woocommerce-loop-product__title {
    max-width: min(92%, 180px);
    font-size: 24px;
    padding: 4px 10px;
  }

  .shop-products-container ul.products li.product .price {
    max-width: min(92%, 180px);
    font-size: 20px;
    padding: 4px 10px;
  }

  .shop-products-container ul.products li.product .woocommerce-loop-product__link {
    min-height: 252px;
  }

  .shop-products-container ul.products li.product {
    min-height: 270px;
  }
}

/* =========================
   Cart / Checkout buttons
========================= */

.woocommerce a.checkout-button.button.alt,
.woocommerce-page a.checkout-button.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce button#place_order,
.woocommerce-page button#place_order {
  font-family: 'Bimbo-Jumbo', sans-serif !important;
  background: #0057ff !important;
  border-color: #0057ff !important;
  color: #fff !important;
}

.woocommerce a.checkout-button.button.alt:hover,
.woocommerce-page a.checkout-button.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce button#place_order:hover,
.woocommerce-page button#place_order:hover {
  background: #0044cc !important;
  border-color: #0044cc !important;
}

.wc-block-cart__submit-container {
  background-color: #97b78e !important;
}

/* =========================
   Unified no-border style
========================= */

.topbar,
.mobile-panel-inner,
.mobile-search form,
.topbar-search form,
.category-card,
.product-card,
.single-product div.product,
.single-product div.product div.summary,
.single-product form.cart .variations select,
.single-product button.single_add_to_cart_button.button.alt,
.dondue-swatch-btn,
.dondue-font-btn,
.single-product #custom_text,
.single-product #custom_notes,
.woocommerce a.checkout-button.button.alt,
.woocommerce-page a.checkout-button.button.alt,
.woocommerce button#place_order,
.woocommerce-page button#place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-container {
  border: 0 !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-color: transparent !important;
}

#secondary {
  display: none !important;
}

button,
.button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  border: 0 !important;
  border-color: transparent !important;
  background-color: #97b78e !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

/* =========================
   Section pre creazioni
========================= */

.section-pre-creazioni {
  position: relative;
  padding: 0 0 76px;
  background: transparent;
}

.pre-creazioni-bandierine {
  width: 100%;
  overflow: hidden;
}

.pre-creazioni-bandierine img {
  width: 100%;
  height: auto;
  display: block;
}

.pre-creazioni-content {
  max-width: 980px;
  margin: 0 auto;
  padding-top: 48px;
}

.pre-creazioni-title {
  margin: 0 0 14px;
  color: #97b78e;
  font-size: clamp(44px, 5.6vw, 72px);
  line-height: 0.95;
  text-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}

.pre-creazioni-text-area {
  margin: 34px auto 0;
  max-width: 900px;
  padding: 26px 30px;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
  color: #000;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.25;
}

.pre-creazioni-text-area p {
  margin: 0 0 16px;
}

.pre-creazioni-steps {
  margin-top: 30px;
}

.pre-step-card {
  text-align: center;
}

.pre-step-media {
  position: relative;
  width: 210px;
  height: 110px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
}

.pre-step-media::before {
  content: "";
  position: absolute;
  width: 185px;
  height: 77px;
  background: var(--step-bg, #e6a2a0);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-mask-image: url('img/Group%20(3).png');
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-image: url('img/Group%20(3).png');
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  /* fallback se il browser non supporta mask */
  border-radius: 999px;
}

.pre-step-media img {
  position: relative;
  z-index: 1;
  max-width: 108px;
  max-height: 108px;
  width: auto;
  height: auto;
}

.pre-step-media-rose {
  --step-bg: #e36a68;
}

.pre-step-media-yellow {
  --step-bg: #efcb6e;
}

.pre-step-media-lilla {
  --step-bg: #d7c2df;
}

.pre-step-media-blue {
  --step-bg: #becbdb;
}

.pre-step-title {
  color: #000;
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.03;
  text-transform: uppercase;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}

.pre-creazioni-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
  padding: 14px 34px;
  border-radius: 999px;
  background: #97b78e;
  color: #fff;
  font-size: clamp(18px, 1.6vw, 24px);
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.pre-creazioni-cta:hover {
  color: #fff;
  opacity: 0.95;
  transform: translateY(-2px);
}

@media (max-width: 991px) {
  .section-pre-creazioni {
    padding-bottom: 56px;
  }

  .pre-creazioni-content {
    padding-top: 32px;
  }

  .pre-step-media {
    width: 170px;
    height: 100px;
  }

  .pre-step-media::before {
    width: 150px;
    height: 66px;
  }
}

@media (max-width: 767px) {
  .pre-creazioni-text-area {
    max-width: 95%;
    padding: 18px 16px;
    line-height: 1.3;
  }

  .pre-creazioni-steps {
    margin-top: 20px;
  }

  .pre-step-title {
    font-size: clamp(16px, 4.5vw, 20px);
  }
}

/* =========================
   Baby list section
========================= */

.baby-list-showcase {
  --gift-title-y: 0px;
  --gift-image-y: 0px;
  --gift-colatura-y: 0px;
  margin-top: 28px;
  overflow: hidden;
  position: relative;
  padding-bottom: 90px;
}

.baby-list-top {
  background: #7d63c4;
  padding: 24px 0 0;
  position: relative;
  z-index: 1;
}

.baby-list-top .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.baby-list-title {
  margin: 0;
  color: #fff;
  font-size: clamp(64px, 8.2vw, 122px);
  line-height: 0.82;
  text-transform: lowercase;
  position: relative;
  transform: translate3d(0, var(--gift-title-y), 0);
  will-change: transform;
  text-shadow:
    0 4px 0 rgba(65, 43, 120, 0.4),
    0 10px 20px rgba(0, 0, 0, 0.18);
}

.baby-list-visual {
  width: min(92vw, 640px);
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.baby-list-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transform: translate3d(0, var(--gift-image-y), 0) scale(1.03);
  will-change: transform;
}

.baby-list-colatura {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  transform: translate3d(0, var(--gift-colatura-y), 0);
  pointer-events: none;
  will-change: transform;
}

.baby-list-cta-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  z-index: 4;
  margin: 0;
}

.baby-list-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 310px;
  padding: 12px 24px;
  border-radius: 3px;
  background: #f05f56 !important;
  color: #fff !important;
  text-decoration: none;
  font-size: clamp(14px, 1.15vw, 18px);
  letter-spacing: 0.8px;
  text-transform: lowercase;
  box-shadow: none !important;
}

.baby-list-cta:hover {
  opacity: 0.95;
}

@media (max-width: 767px) {
  .baby-list-top {
    padding-top: 16px;
  }

  .baby-list-title {
    font-size: clamp(42px, 11.5vw, 64px);
  }

  .baby-list-visual {
    width: min(78vw, 320px);
    margin-left: auto;
    margin-right: auto;
  }

  .baby-list-cta {
    min-width: 220px;
    padding: 10px 16px;
  }

  .baby-list-colatura {
    transform: translate3d(0, var(--gift-colatura-y), 0);
  }

  .baby-list-cta-wrap {
    bottom: 12px;
  }

  .baby-list-showcase {
    padding-bottom: 72px;
  }
}

/* =========================
   Soft animations (global)
========================= */

.soft-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.55s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.soft-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.category-card,
.product-card,
.shop-hero-category-item,
.pre-step-card,
.side-flower,
.shop-hero-balloon,
.baby-list-cta,
.pre-creazioni-cta,
.dondue-footer-links a,
.woocommerce ul.products li.product img,
.img-amati img {
  transition:
    transform 0.26s ease,
    box-shadow 0.26s ease,
    opacity 0.26s ease;
}

.category-card:hover,
.product-card:hover,
.shop-hero-category-item:hover,
.pre-step-card:hover {
  transform: translateY(-4px);
}

.shop-hero-category-item:hover .shop-hero-category-thumb img,
.woocommerce ul.products li.product:hover img,
.product-card:hover .img-fluid,
.category-card:hover .img-fluid,
.pre-step-card:hover img,
.img-amati:hover img {
  transform: translateY(-2px) scale(1.02);
}

a,
button,
.button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    filter 0.2s ease !important;
}

a:hover,
button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
  filter: brightness(1.03);
}

/* Rimuove la linea sotto da tutti i testi/link */
a,
a:hover,
a:focus,
a:active {
  text-decoration: none !important;
}

.topbar-center img {
  animation: dondueSoftFloat 6s ease-in-out infinite;
}

@keyframes dondueSoftFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .soft-reveal,
  .soft-reveal.is-visible,
  .topbar-center img,
  .category-card,
  .product-card,
  .shop-hero-category-item,
  .pre-step-card,
  .side-flower,
  .shop-hero-balloon,
  .baby-list-cta,
  .pre-creazioni-cta,
  .dondue-footer-links a,
  .woocommerce ul.products li.product img,
  .img-amati img,
  a,
  button,
  .button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* =========================
   Footer custom
========================= */

.dondue-footer {
  position: relative;
  margin-top: 0;
  padding: 72px 0 24px;
  color: #fff;
  background: linear-gradient(140deg, #97b78e 0%, #7e62c2 100%);
  overflow: hidden;
}

.dondue-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('img/colatura.png');
  background-repeat: repeat;
  background-size: 280px auto;
  opacity: 0.08;
  pointer-events: none;
}

.dondue-footer .container {
  position: relative;
  z-index: 1;
}

.dondue-footer-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 30px;
}

.dondue-footer-logo {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(44px, 5vw, 74px);
  line-height: 0.85;
  text-shadow: 0 7px 16px rgba(0, 0, 0, 0.18);
}

.dondue-footer-title {
  margin: 10px 0 12px;
  color: #fff;
  font-size: 34px;
}

.dondue-footer-text {
  margin: 0;
  max-width: 32ch;
  font-size: 24px;
  line-height: 1.2;
}

.dondue-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.dondue-footer-links a,
.dondue-footer-links span {
  color: #fff;
  font-size: 22px;
  text-decoration: none;
  opacity: 0.95;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.dondue-footer-links a:hover {
  opacity: 1;
  transform: translateX(3px);
}

.dondue-footer-bottom {
  margin-top: 28px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  text-align: center;
  font-size: 18px;
}

@media (max-width: 991px) {
  .dondue-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .dondue-footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .dondue-footer {
    margin-top: 0;
    padding: 56px 0 18px;
  }

  .dondue-footer-grid {
    grid-template-columns: 1fr;
    gap: 22px;
    text-align: center;
  }

  .dondue-footer-text {
    margin: 0 auto;
  }

  .dondue-footer-links a:hover {
    transform: none;
  }
}

/* =========================
   Gift List Pages
========================= */

.dondue-gift-wrap {
  max-width: 980px;
  margin: 30px auto;
  padding: 0 16px;
}

.dondue-gift-wrap h2 {
  margin-bottom: 10px;
}

.dondue-gift-form {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.dondue-gift-form p {
  margin: 0 0 12px;
}

.dondue-gift-form label {
  display: block;
  margin: 0 0 6px;
  font-family: 'BimboJVE', sans-serif;
  color: #111;
}

.dondue-gift-form input,
.dondue-gift-form textarea {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: #f2f2f2;
  padding: 10px 12px;
  color: #111;
}

.dondue-gift-form textarea {
  min-height: 100px;
  resize: vertical;
}

.dondue-gift-alert {
  border-radius: 8px;
  padding: 10px 12px;
  margin: 0 0 14px;
}

.dondue-gift-alert ul {
  margin: 0;
  padding-left: 20px;
}

.dondue-gift-alert-error {
  background: #fde3e5;
  color: #7a1f28;
}

.dondue-gift-alert-success {
  background: #e8f6e8;
  color: #265f2f;
}

.dondue-gift-list-head {
  margin: 18px 0 14px;
}

.dondue-gift-products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.dondue-gift-product-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  padding: 12px;
  text-align: center;
}

.dondue-gift-product-card h4 {
  margin: 10px 0 6px;
  font-size: 18px;
}

.dondue-gift-product-card h4 a {
  color: #111;
  text-decoration: none;
}

.dondue-gift-product-price {
  margin-bottom: 10px;
  color: #111;
}

.dondue-gift-remaining {
  margin: 0 0 10px;
  font-size: 14px;
  color: #222;
}

.dondue-gift-add-cart {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 8px;
}

.dondue-gift-add-cart input[type="number"] {
  width: 100%;
  border-radius: 8px;
  border: 0;
  background: #f2f2f2;
  padding: 8px;
}

@media (max-width: 991px) {
  .dondue-gift-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .dondue-gift-products {
    grid-template-columns: 1fr;
  }
}

/* =========================
   Bio page
========================= */

.bio-page {
  padding: 118px 0 54px;
}

.bio-carousel {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
  background: #fff;
}

.bio-carousel .carousel-item img {
  height: clamp(240px, 48vw, 560px);
  object-fit: cover;
}

.bio-carousel .carousel-indicators [data-bs-target] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  margin: 0 4px;
}

.bio-content {
  max-width: 860px;
  margin: 30px auto 0;
  text-align: center;
}

.bio-content-title {
  margin: 0 0 16px;
}

.bio-content-text {
  margin: 0 0 14px;
  font-size: clamp(18px, 2.2vw, 28px);
  line-height: 1.28;
  color: #222;
}

.bio-content-text:last-child {
  margin-bottom: 0;
}
