/*
Theme Name: Panarello
Author: Neobiz - Mirko
Author URI: https://www.neobiz.it/
Description:  The best WordPress starter theme based on the most powerful frameworks in the world: "_s" (by Automattic, the main people behind WordPress development), Twitter Bootstrap (the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web) and Font Awesome (or Fontawesome, a full suite of 675+ pictographic icons for easy scalable vector graphics on websites). This theme, like WordPress, is licensed under the GPL. You can use this theme as base for your next WordPress theme project and you are allowed to remove the link at the footer or do whatever you want. Your feedback on how we can continuously improve this WordPress Starter Theme Bootstrap will be highly appreciated. Page templates includes Right-sidebar (default page template), Left-Sidebar, Full-Width, Blank with container, Blank without container Page. Other features - Currently using Bootstrap v4.0.0 , Widgetized footer area, WooCommerce ready, Compatible with Contact Form 7, Compatible with Visual Composer, Compatible with Elementor Page Builder. This theme will be an active project which we will update from time to time. Check this page regularly for the updates.
Version: 3.1.182
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: panarello
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready, right-sidebar, custom-background, e-commerce, theme-options, sticky-post, full-width-template
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
  ## Links
  ## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
  ## Posts and pages
  ## Comments
# Infinite scroll
# Media
  ## Captions
  ## Galleries
# Woocommerce
# Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Design tokens
--------------------------------------------------------------*/
:root {
  /* Superfici ampie archivio prodotti: stesso family del beige, più chiaro/aria per ridurre affaticamento */
  --color-panarello-bisq-pale-bg-listing: #fdf8ee;

  /* Fondo gradienti card categoria minimal / transizioni verso tono caldo più profondo */
  --product-photo-surface-gradient-end: #deb587;
  --bg-light-grey: #ebebeb;

  /* Panarello Color Palette (from Figma studio-palette-sito) */
  /* Primary colors */
  --color-panarello-choc: #5a3217;
  --color-panarello-bisq: #593b18;

  /* Panarello Bisq family (14 tonalità) */
  --color-panarello-bisq-extradeep-bg-4: #100b04;
  --color-panarello-bisq-deep-bg-8: #201509;
  --color-panarello-bisq-extradeep-15: #3c2811;
  --color-panarello-bisq-deep-22: #583a18;
  --color-panarello-bisq-extradark-30: #784f21;
  --color-panarello-bisq-dark-40: #a06a2c;
  --color-panarello-bisq-medium-50: #c88437;
  --color-panarello-bisq-light-60: #d39d60;
  --color-panarello-bisq-extralight-70: #deb587;
  --color-panarello-bisq-pale-78: #e7c9a7;
  --color-panarello-bisq-pale-85: #eedac3;
  --color-panarello-bisq-pale-bg: #f6ebdf;
  --color-panarello-bisq-extrapale-bg-96: #fbf5ef;


  /* Panarello Choc family (13 tonalità) */
  --color-panarello-choc-extradeep-bg-4: #100904;
  --color-panarello-choc-deep-bg-8: #201208;
  --color-panarello-choc-extradeep-15: #3d2210;
  --color-panarello-choc-deep-22: #5a3217;
  --color-panarello-choc-extradark-30: #7e4620;
  --color-panarello-choc-dark-40: #a25a2a;
  --color-panarello-choc-medium-50: #cb7134;
  --color-panarello-choc-light-60: #d58d5d;
  --color-panarello-choc-extralight-70: #e0aa85;
  --color-panarello-choc-pale-78: #e8c0a6;
  --color-panarello-choc-pale-85: #efd4c2;
  --color-panarello-choc-pale-bg-92: #f7e8df;
  --color-panarello-choc-extrapale-bg-96: #fbf4ef;

  /* Neutral shading (grigio) */
  --color-neutral-extradeep-bg-4: #0a0a0a;
  --color-neutral-deep-bg-8: #141414;
  --color-neutral-extradeep-15: #262626;
  --color-neutral-deep-22: #333333;
  --color-neutral-extradark-30: #383838;
  --color-neutral-dark-40: #4d4d4d;
  --color-neutral-medium-50: #666666;
  --color-neutral-light-60: #808080;
  --color-neutral-extralight-70: #999999;
  --color-neutral-pale-78: #b3b3b3;
  --color-neutral-extrapale-85: #c7c7c7;
  --color-neutral-pale-bg-92: #d9d9d9;
  --color-neutral-extrapale-bg-96: #ebebeb;

  /* Grapefruit family */
  --color-grapefruit-light-60: #f65d37;

  /* Evo green family */
  --color-evo-green-light-60: #fc933c;

  /* Almond family */
  --color-almond-pale-78: #e2d0bc;

  /* Gluten shading */
  --color-gluten-extradeep-15: #3d2615;
  --color-gluten-deep-22: #463220;
  --color-gluten-extradark-30: #5a4130;
  --color-gluten-dark-40: #6a3a1f;
  --color-gluten-medium-50: #8a6d4d;
  --color-gluten-light-60: #a06d29;
  --color-gluten-extralight-70: #7d824e;
  --color-gluten-pale-78: #b4d3d4;
  --color-gluten-pale-80: #b9dae0;

  /* Utility colors */
  --color-black: #000;
  --color-white: #fff;
  --product-photo-surface-opacity-35: rgba(238, 218, 195, 0.35);
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
    scroll-behavior: smooth;
  }
  /* Evita scroll orizzontale “a vuoto” su mobile: full-bleed con 100vw, ::before fuori colonna, owl-nav negativi, ecc. */
  #page.site {
    overflow-x: hidden;
  }
  body {
    margin: 0;
    -webkit-font-smoothing: auto;
    font-family: Open Sans;
    background-color: var(--color-panarello-bisq-pale-bg) !important;
  }
  
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  main,
  menu,
  nav,
  section,
  summary {
    display: block;
  }
  
  audio,
  canvas,
  progress,
  video {
    display: inline-block;
    vertical-align: baseline;
  }
  
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  
  [hidden],
  template {
    display: none;
  }
  
  a {
    background-color: transparent;
    color: var(--color-panarello-choc-deep-22);
  }
  
  a:active,
  a:hover,
  a:focus {
    outline: none;
    text-decoration:none;
    color: var(--color-panarello-bisq-light-60);
  }
  
  dfn {
    font-style: italic;
  }
  
  mark {
    background: #ff0;
    color: var(--color-black);
  }
  
  small {
    font-size: 80%;
  }
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sup {
    top: -0.5em;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  img {
    border: 0;
  }
  
  svg:not(:root) {
    overflow: hidden;
  }
  
  figure {
    margin: 1em 2.5rem;
  }
  
  hr {
    box-sizing: content-box;
    height: 0;
  }
  
  button {
    overflow: visible;
  }
  
  button,
  select {
    text-transform: none;
  }
  
  button,
  html input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    -webkit-appearance: button;
    appearance: button;
    cursor: pointer;
  }
  
  button[disabled],
  html input[disabled] {
    cursor: default;
  }
  
  button::-moz-focus-inner,
  input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }
  
  input {
    line-height: normal;
  }
  
  input[type="checkbox"],
  input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
  }
  
  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  }
  
  legend {
    border: 0;
    padding: 0;
  }
  
  textarea {
    overflow: auto;
  }
  
  optgroup {
    font-weight: bold;
  }
  
  table {
    border-collapse: collapse;
    border-spacing: 0;
    border-color: var(--color-panarello-choc-deep-22);
  }
  tr > td:first-child {
      text-align: left;
      vertical-align: top;
  }
  td,
  th {
    padding: 0.5rem 1rem;
    text-align: center;
  }
  .product-tb thead th{
    background-color: var(--color-panarello-choc-deep-22);
    color: var(--color-white);
  }
  /*--------------------------------------------------------------
  # Typography
  --------------------------------------------------------------*/
  h1, h2, h3, h4, h5, h6 {
    clear: both;
    color: var(--color-neutral-deep-22);
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 15px;
    font-family: 'Libre Baskerville', serif;
  }
  h1 {
    font-size: 32px;
    padding-bottom: 10px;
  }
  h2 {
    font-size: 24px;
    padding-bottom: 0.3em;
    line-height: 1.25;
  }
  h3 {
    font-size: 18px;
    line-height: 25px;
  }
  h4 {
    font-size: 16px;
    line-height: 20px;
  }
  h5 {
    font-size: 14px;
    line-height: 17.5px;
  }
  
  p {
    margin-bottom: 1.5em;
  }
  h1.entry-title {
    font-size: 1.31rem;
    border-bottom: 1px solid #eaecef;
  }
  h2.entry-title {
    border-bottom: 1px solid #eaecef;
  }
  h3.widget-title {
    font-size: 14px;
    color: var(--color-white);
    font-family: Open Sans;
  }
  
  /*--------------------------------------------------------------
  # Elements
  --------------------------------------------------------------*/
  body {
    background: var(--color-white);
    color: var(--color-neutral-deep-22);
    /* Fallback for when there is no custom background color defined. */
  }
  
  img {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
  }
  
  figure {
    margin: 1em 0;
    /* Extra wide images within figure tags don't overflow the content area. */
  }
  
  table {
    margin: 0 0 1.5em;
    width: 100%;
  }
  
  /*--------------------------------------------------------------
  # Forms
  --------------------------------------------------------------*/
  .form-control {
      border-radius: 0;
      border-color: var(--color-neutral-deep-22);
  }
  .form-control:focus {
      color: #495057;
      background-color: var(--color-white);
      border-color: inherit;
      outline: 0;
      box-shadow: 0 0 0 .1rem rgba(90, 50, 23, 0.15);
  }
  
  label{
    width: 100%;
  }
  span.wpcf7-list-item {
    margin: 0;
    margin-bottom: 2rem;
  }
  /*--------------------------------------------------------------
  # Navigation
  --------------------------------------------------------------*/
  header#masthead {
    margin-bottom: 0;
    background-color: rgba(0,0,0,0.2);
    padding: .5rem 1rem;
    position: fixed;
    z-index: 1030;
    width:100%;
    transition: all 0.3s;
  }
  .trasparent{
    opacity: 0;
  }
  #masthead.activescroll{
    background-color: rgba(90,50,23,0.82);
    opacity: 1;
  }
  header {
    background-size: cover !important;
  }
  .activescroll .navbar-brand{
    width: 165px;
  }
  .navbar-brand > a {
    color: rgba(0, 0, 0, 0.9);
    font-size: 1.1rem;
    outline: medium none;
    text-decoration: none;
    color: var(--color-white);
    font-weight: 700;
  }
  
  .navbar-brand > a:visited, .navbar-brand > a:hover {
    text-decoration: none;
  }
  
  #page-sub-header {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 0;
    text-align: center;
    font-size: 1.25rem;
    background-size: cover !important;
  }
  #menu-menu-1 li, #footer-widget li{
    padding: 0 0.3rem;
  }
  body:not(.theme-preset-active) #page-sub-header h1 {
    line-height: 1.6;
    font-size: 4rem;
    color: var(--color-panarello-bisq-light-60);
    margin: 0 0 1rem;
    border: 0;
    padding: 0;
  }
  
  #page-sub-header p {
    margin-bottom: 0;
    line-height: 1.4;
    font-size: 1.25rem;
    font-weight: 300;
  }
  body:not(.theme-preset-active) #page-sub-header p {
  color: var(--color-neutral-deep-22);
  }
  a.page-scroller {
    color: #333;
    font-size: 2.6rem;
    display: inline-block;
    margin-top: 2rem;
  }
  
  @media screen and (min-width: 768px) {
    body:not(.theme-preset-active) #page-sub-header h1 {
      font-size: 3.750rem;
    }
    body:not(.theme-preset-active) #page-sub-header {
      font-size: 1.25rem;
    }
  }
  @media screen and (min-width: 992px) {
    #page-sub-header p {
      max-width: 43rem;
      margin: 0 auto;
    }
  }
  /*--------------------------------------------------------------
  ## Links
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  ## Menus
  --------------------------------------------------------------*/
  #masthead nav {
    padding-left: 0;
    padding-right: 0;
  }
  
  body:not(.theme-preset-active) #masthead .navbar-nav > li > a, #footer-widget li > a{
    color: var(--color-white);
    padding: 0.3rem 0.5rem;
    font-weight: 600;
    font-size: 1rem;
  }
  #footer-widget .sub-menu li > a{
    font-weight: 400;
  }
  footer#colophon a:hover{
    color: var(--color-neutral-deep-22);
  }
  #menu-menu-1.navbar-nav > li > a{
    text-shadow: 0 0 4px rgba(96,96,96,0.59);
  }
  
  body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover,
  body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a {
    color: var(--color-panarello-bisq-light-60);
    font-weight: 600;
    /*background: #f9f9f9;*/
  }
  .marginHead{
    padding-top: calc(142px + 1rem)
  }

  .page-template-template-punti-vendita .marginHead {
    padding-top: 0 !important;
  }

  /* Fascia header full-width (archivio prodotti, scheda prodotto, …) */
  .marginHead--color-panarello-bisq-pale-bg {
    background-color: var(--color-panarello-bisq-pale-bg);
    padding-bottom: 3rem;
  }
  /* Archivio tassonomia + scheda prodotto: beige listing su superficie grande (tile =  --color-panarello-bisq-pale-85) */
  body.tax-categorie_prodotti .marginHead--color-panarello-bisq-pale-bg,
  body.single-prodotti .marginHead--color-panarello-bisq-pale-bg {
    background-color: var(--color-panarello-bisq-pale-bg-listing);
  }
  .marginHead--bg-white {
    background-color: var(--color-white);
    padding-bottom: 3rem;
  }
  .navbar-brand {
    height: auto;
  }
  .navbar-brand {
    width: 256px;
    transition: all 0.3s ease-out;
    padding: 0;
  }
  .navbar-toggle .icon-bar {
    background: var(--color-black) none repeat scroll 0 0;
  }
  .wpml-ls-current-language {
      border: 2px solid var(--color-white);
      margin-left: 0.5rem;
  }
  .dropdown-toggle::after, #footer-widget .menu-item-has-children > a::after {
    font-family: "Font Awesome 5 Free";
    font-size: 0.7rem;
    line-height: 1.5;
    vertical-align: middle;
    content: "\f078";
    width: auto;
    height: auto;
    border: 0;
  }
  #footer-widget .menu-item-has-children > a::after{
    margin-left: .63em;
  }
  .dropdown-menu .dropdown-toggle::after {
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
    border-top: 0.3em solid transparent;
  }
  .location{
    color: var(--color-gluten-light-60) !important;
  }
  .location:hover, .location:hover em{
    color: var(--color-panarello-choc-deep-22);
  }
  .location em{
    color: red;
    font-style: normal;
  }
  .categorie-prod{
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
  display: block;
  text-align: left;
  }

  /* Accordion archivi categorie_prodotti (termini con figli): sfondo pagina, titoli maiuscolo, freccia */
  .panarello-tax-accordion {
    max-width: 100%;
  }
  .panarello-tax-accordion .card {
    background-color: transparent;
  }
  .panarello-tax-accordion__card {
    background: transparent !important;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    box-shadow: none;
  }
  .panarello-tax-accordion__header {
    padding: 0;
    background: transparent !important;
    border: none;
    border-bottom: 1px solid rgba(90, 50, 23, 0.2);
  }
  .panarello-tax-accordion__toggle {
    position: relative;
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.35;
    color: #333 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: normal;
    padding: 1rem 2.75rem 1rem 0.25rem;
    border: none;
    box-shadow: none;
  }
  .panarello-tax-accordion__toggle::after {
    content: '';
    position: absolute;
    right: 0.85rem;
    top: 50%;
    width: 0.5rem;
    height: 0.5rem;
    margin-top: -0.35rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    border-color: var(--color-gluten-light-60);
    transform: rotate(45deg);
    transition: transform 0.2s ease, margin-top 0.2s ease;
  }
  .panarello-tax-accordion__toggle:not(.collapsed)::after {
    transform: rotate(-135deg);
    margin-top: -0.12rem;
  }
  .panarello-tax-accordion__toggle:hover,
  .panarello-tax-accordion__toggle:focus {
    color: var(--color-panarello-choc-deep-22) !important;
    text-decoration: none !important;
  }
  .panarello-tax-accordion__toggle.collapsed {
    color: #333 !important;
  }
  .panarello-tax-accordion__body {
    background: transparent !important;
    padding: 1rem 0 1.5rem;
    border: none;
  }
  .panarello-tax-accordion .card-body {
    background: transparent !important;
  }

  /* Card sottocategorie (griglia ad elenco categorie con livelli annidati) */
  .panarello-subtax-card {
    display: block;
    height: 100%;
    text-decoration: none !important;
    color: #333 !important;
  }
  .panarello-subtax-card:hover .panarello-subtax-card__inner,
  .panarello-subtax-card:focus-visible .panarello-subtax-card__inner {
    border-color: var(--color-gluten-light-60);
    box-shadow: 0 8px 24px rgba(90, 50, 23, 0.14);
  }
  .panarello-subtax-card:focus-visible {
    outline: 2px solid var(--color-gluten-light-60);
    outline-offset: 4px;
  }
  .panarello-subtax-card__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    border: 1px solid rgba(90, 50, 23, 0.22);
    border-radius: 6px;
    overflow: hidden;
    background: var(--color-white);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }
  .panarello-subtax-card__media {
    flex-shrink: 0;
  }
  .panarello-subtax-card__title-block {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 1rem 0.75rem 1.15rem;
    border-top: 1px solid rgba(90, 50, 23, 0.12);
    background: linear-gradient(180deg, #fcfcfc 0%, var(--color-white) 55%);
    flex: 1 1 auto;
  }
  .panarello-subtax-card__ondine {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .panarello-subtax-card__ondine img {
    display: block;
    width: 40px;
    height: auto;
    max-height: 40px;
    object-fit: contain;
  }
  .panarello-subtax-card__title {
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
    font-size: 0.98rem;
    line-height: 1.28;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    color: #333;
    text-align: left;
    flex: 1;
  }
  @media (min-width: 992px) {
    .panarello-subtax-card__title {
      font-size: 1.08rem;
    }
  }

  .product-img{
    height: 256px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var( --color-panarello-bisq-pale-85);
    border-radius: 8px;
    /*background: linear-gradient(180deg, var(--product-photo-surface-opacity-35) 0%, var(--color-panarello-bisq-pale-85) 100%);*/
    background-color: var(--product-photo-surface-gradient-end);
    overflow: hidden;
  }

  .product-img:hover{
    box-shadow: inset 0 0 0 1px rgba(90, 50, 23, 0.06);
  }

  /* Tile foto: gradiente warm (aggiungi la classe dove serve; dopo .product-img per sovrascrivere il tint unito) */
  .panarello-product-photo-gradient {
    background-color: transparent;
    border-radius: unset;
    /* background-image: linear-gradient(
      180deg,
      var( --color-panarello-bisq-pale-85) 0%,
      color-mix(in srgb, var( --color-panarello-bisq-pale-85) 72%, var( --color-panarello-bisq-pale-85-gradient-end)) 42%,
      color-mix(in srgb, var( --color-panarello-bisq-pale-85) 38%, var( --color-panarello-bisq-pale-85-gradient-end)) 78%,
      var( --color-panarello-bisq-pale-85-gradient-end) 100%
    ); */
    
   /*background: radial-gradient(131.3% 131.3% at 50% -31.3%, #F6EBDF 0%, #DEB587 100%);*/
   background-color: var(--product-photo-surface-gradient-end);
  }
  .product-img picture {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
  }
  .product-img img {
    display: block;
    margin: 0;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
  }
  /* Scheda singolo prodotto (template-parts/content-prodotti.php): stessa superficie delle tile archivio */
  body.single-prodotti .product-img--single-hero {
    height: auto;
    min-height: 280px;
    padding: 1rem 0.85rem;
    margin-bottom: 0.75rem;
  }
  body.single-prodotti .product-img--single-hero #sync1 {
    width: 100%;
  }
  body.single-prodotti .product-img--single-thumbs {
    background: transparent;
    box-shadow: none;
    height: auto;
    min-height: 0;
    padding: 0.35rem 0 0;
  }
  body.single-prodotti .product-img--single-thumbs #sync2 .owl-item {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    box-sizing: border-box;
  }
  body.single-prodotti .product-img--single-thumbs .owl-item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  body.single-prodotti .product-img--single-thumbs .owl-item > .item {
    background-color: var(--product-photo-surface-gradient-end);
    box-shadow: inset 0 0 0 1px rgba(90, 50, 23, 0.06);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Larghezza = cella Owl (stretta su mobile); altezza segue → sempre quadrato (prima: 120×120px con max-width:100% → rettangolo). */
    width: 100%;
    max-width: 120px;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    margin: 0 auto;
    box-sizing: border-box;
  }
  body.single-prodotti .product-img--single-thumbs .owl-item > .item img {
    display: block;
    margin: 0;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
  }
  body.single-prodotti .product-img--single-hero #sync1 .owl-item img,
  body.single-prodotti .product-img--single-thumbs #sync2 .owl-item img {
    cursor: zoom-in;
  }
  @media (max-width: 767.98px) {
    body.single-prodotti .product-img--single-thumbs {
      margin-bottom: 35px;
    }
  }
  body.single-prodotti .product-img--related-thumb {
    height: 148px;
    max-width: 160px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Correlati: frecce come lightbox gallery prodotto (cerchio #5a3217, chevron bianco centrato) */
  body.single-prodotti #product-related-ctn .related-product {
    position: relative;
    padding-left: 0;
    padding-right: 0;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav {
    margin-top: 0;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev,
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next {
    width: 3rem;
    height: 3rem;
    margin-top: 0;
    border-radius: 50%;
    background: var(--color-panarello-choc-deep-22) !important;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(90, 50, 23, 0.22);
    transition: background 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    top: 74px;
    transform: translateY(-50%);
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev:hover,
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next:hover,
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev:focus,
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next:focus {
    background: var(--color-gluten-dark-40) !important;
    box-shadow: 0 3px 12px rgba(90, 50, 23, 0.28);
    outline: none;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev:focus-visible,
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next:focus-visible {
    outline: 2px solid rgba(90, 50, 23, 0.85);
    outline-offset: 2px;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev {
    left: -1rem;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next {
    right: -1rem;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev::after,
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next::after {
    content: "";
    display: block;
    width: 0.55rem;
    height: 0.55rem;
    flex-shrink: 0;
    box-sizing: border-box;
    border-left: 2px solid var(--color-white);
    border-bottom: 2px solid var(--color-white);
    border-top: 0;
    border-right: 0;
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-prev::after {
    transform: rotate(45deg);
  }
  body.single-prodotti #product-related-ctn .related-product .owl-nav button.owl-next::after {
    transform: rotate(-135deg);
  }
  /* Correlati: niente dots (Owl default dots:true + refresh responsive poteva duplicare le filee di pallini) */
  body.single-prodotti #product-related-ctn .related-product .owl-dots {
    display: none !important;
  }
  /* Griglia sottocategorie: niente inset shadow sulla media (gradiente = .panarello-product-photo-gradient) */
  .panarello-subtax-card .product-img {
    box-shadow: none;
  }
  .product-link{
    color: var(--color-neutral-deep-22);
  }

  /* Archivio categorie prodotti (foglia / prodotti in accordion): titolo più leggibile su mobile */
  @media (max-width: 767.98px) {
    #product-page a.product-link .panarello-archive-product-title {
      font-family: 'Libre Baskerville', Georgia, serif;
      font-size: clamp(1.125rem, 4.35vw, 1.4rem);
      line-height: 1.35;
      font-weight: 700;
      letter-spacing: 0.02em;
      margin-bottom: 30px;
      text-align: center !important;
    }
  }

  /* Small menu. */
  .menu-toggle,
  .main-navigation.toggled ul {
    display: block;
  }
  
  .dropdown-item {
    line-height: 1.2;
    padding-bottom: 0.313rem;
    padding-top: 0.313rem;
  }
  
  .dropdown-menu {
    min-width: unset;
    border: none;
    margin: 0;
    left: -2px;
    box-shadow: 0 4px 8px 0 rgba(90,50,23,0.75);
  }
  
  .dropdown:hover .dropdown-menu {
    display: block;
    /*left: 12.250em;
    top: 0;*/
  }
  /* Navbar collassata (sotto xl): niente apertura solo-hover — usa classe .show di Bootstrap (tap, mouse, emulatore) */
  @media (max-width: 1199.98px) {
    #masthead .navbar-expand-xl .navbar-nav .dropdown > .dropdown-menu {
      display: none;
    }
    #masthead .navbar-expand-xl .navbar-nav .dropdown.show > .dropdown-menu {
      display: block;
    }
  }
  /* Menu orizzontale: hover come prima (desktop largo) */
  @media (min-width: 1200px) {
    #masthead .navbar-expand-xl .navbar-nav > .nav-item.dropdown:hover > .dropdown-menu {
      display: block;
    }
  }
  
  .dropdown-menu .dropdown-item {
    background: transparent;
    line-height: 1.6;
    color: var(--color-panarello-bisq-light-60);
    padding-left: 0.5rem;
  }
  .dropdown-menu .dropdown-item:hover {
    color: var(--color-panarello-choc-deep-22);
  }
  .navbar-toggler .icon-bar:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 10% 10%;
    -ms-transform-origin: 10% 10%;
    transform-origin: 10% 10%;
  }
  .navbar-toggler .icon-bar:nth-of-type(2) {
    opacity: 0;
    filter: alpha(opacity=0);
  }
  .navbar-toggler .icon-bar:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 10% 90%;
    -ms-transform-origin: 10% 90%;
    transform-origin: 10% 90%;
  }
  .navbar-toggler .icon-bar {
      display: block;
      width: 25px;
      height: 2px;
      border-radius: 2px;
      background-color: var(--color-white);
      -webkit-transition: all 0.2s;
      transition: all 0.2s;
  }
  .navbar-toggler:focus, .navbar-toggler:hover, button:focus{
    outline: none;
  }
  .navbar-toggler .icon-bar + .icon-bar{
    margin-top: 5px;
  }
  /* ANIMATED X COLLAPSED */
  .navbar-toggler.collapsed .icon-bar:nth-of-type(1) {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
  .navbar-toggler.collapsed .icon-bar:nth-of-type(2) {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .navbar-toggler.collapsed .icon-bar:nth-of-type(3) {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
  @media screen and (min-width: 37.5em) {
    .menu-toggle {
      display: none;
    }
  }
  @media screen and (min-width: 769px) {
    .dropdown-menu li > .dropdown-menu {
      right: -9.875rem;
      top: 1.375rem;
    }
  }
  @media screen and (max-width: 991px) {
    .navbar-nav .dropdown-menu {
      border: medium none;
      margin-left: 1.250rem;
      padding: 0;
    }
  
    .dropdown-menu li a {
      padding: 0;
    }
  
    #masthead .navbar-nav > li > a {
      padding-bottom: 0.625rem;
      padding-top: 0.313rem;
    }
  
    .navbar-toggler {
      border: medium none;
      outline: none;
    }
  }
  #bread ul li {
    list-style: none;
    float: left;
  }
  #bread ul li a {
    font-size: 14px;
    font-weight: 300;
    color: var(--color-neutral-deep-22);
  }
  #bread ul li .panarello-bread-current {
    font-size: 14px;
    font-weight: 300;
    color: var(--color-neutral-deep-22);
  }
  .site-main .comment-navigation,
  .site-main .posts-navigation,
  .site-main .post-navigation {
    margin: 0 0 1.5em;
    overflow: hidden;
  }
  
  .comment-navigation .nav-previous,
  .posts-navigation .nav-previous,
  .post-navigation .nav-previous {
    float: left;
    width: 50%;
  }
  
  .comment-navigation .nav-next,
  .posts-navigation .nav-next,
  .post-navigation .nav-next {
    float: right;
    text-align: right;
    width: 50%;
  }
  .comment-content.card-block {
    padding: 20px;
  }
  .article-title{
    margin: auto;
    color: var(--color-white);
    text-align: center !important;
    font-weight: normal;
  }
  a.press-a{
    display: block;
    position: relative;
  }
  .press-over {
      position: absolute;
      top: 0;
      height: 100%;
      width: 100%;
      background: rgba(0,0,0,0.45);
      vertical-align: middle;
      display: flex;
      opacity: 0;
      transition: all 0.4s;
  }
  a.press-a:hover .press-over{
    opacity: 1;
  }
  .cont-img{
    max-height: 300px;
    overflow: hidden;
  }
  .navigation.post-navigation {
    padding-top: 1.875rem;
  }
  
  .post-navigation .nav-previous a,
  .post-navigation .nav-next a {
    border: 1px solid #ddd;
    border-radius: 0.938rem;
    display: inline-block;
    padding: 0.313rem 0.875rem;
    text-decoration: none;
  }
  
  .post-navigation .nav-next a::after {
    content: " \2192";
  }
  
  .post-navigation .nav-previous a::before {
    content: "\2190 ";
  }
  
  .post-navigation .nav-previous a:hover,
  .post-navigation .nav-next a:hover {
    background: #eee none repeat scroll 0 0;
  }
  /* CUSTOMIZE THE CAROUSEL
  -------------------------------------------------- */
  .carousel-item > img {
    position: relative;
    min-width: 100%;
    height: auto;
  }
  .carousel-indicators li, #myCarousel .owl-dots .owl-dot span{
    height: 12px;
    width: 12px;
    border-radius: 50%;
    border: 1px solid var(--color-white);
    background-color: rgba(255,255,255,0);
  }
   #myCarousel .owl-dots .owl-dot.active span, #myCarousel .owl-dots .owl-dot:hover span{
    background-color: var(--color-white) !important;
   }
  .carousel-inner{
    max-height: 700px;
    display: block;
  }
  .carousel-inner::before, #myCarousel .owl-stage-outer::before{
      background: url('/wp-content/uploads/2019/04/Rettangolo-9-copia.png.webp');
      background-size: cover;
      display: block;
      content: "";
      width: 100%;
      position: absolute;
      z-index: 9;
      height: 100%;
      mix-blend-mode: multiply;
      pointer-events: none;
  }
  @media (min-width: 1384px){
    .carousel-item > img, .home-item > img {
      transform: translateY(calc(350px - 50%));
    }
  }
  #myCarousel .owl-dots {
      position: absolute;
      width: 100%;
      bottom: 1.2rem;
  }
  .item{
      text-align: center;
      min-height: 50px;
  }
  #time2 .item::before {
    content: "";
    display: inline-block;
    height: 16px;
    width: 16px;
    background: var(--color-panarello-choc-deep-22);
    border-radius: 50%;
    margin: auto;
    }
    #time2 .current .item::before {
        background: var(--color-panarello-bisq-light-60);
    }
    #time2 .item span {
        position: absolute;
        right: 50%;
        font-size: 14px;
        right: 50%;
        transform: translateX(50%);
        top: 40%;
        font-weight: 600;
        color: var(--color-panarello-choc-deep-22);
        width: 100%;
    }
    #time2 .current .item span {
        color: var(--color-panarello-bisq-light-60);
    }
    #time1 h1{
        font-size: 30px;
        margin: 0;
        margin-top: 0px;
        font-weight: normal;
        margin-top: 1rem;
    }
    #time1 p {
        font-size: 14px;
        font-weight: normal;
        line-height: 22px;
        max-width: 800px;
        margin: auto;
    }
    #time2 .owl-stage-outer::before {
        content: "";
        height: 2px;
        width: 95%;
        background: var(--color-panarello-choc-deep-22);
        display: inline-block;
        position: absolute;
        top: 8px;
        z-index: -1;
        left: 50%;
        transform: translate(-50%,0);
    }
    #time2 .owl-nav button.owl-next, #time2 .owl-nav button.owl-prev{
        top: 42%;
    }
    #time1.owl-carousel img {
        max-height: 500px;
        max-width: 400px;
        width: auto !important;
        margin: auto;
      }
    .home-item{
      max-height: 700px;
      display: block;
      position: relative;
    }
  /*--------------------------------------------------------------
  # Accessibility
  --------------------------------------------------------------*/
  /* Text meant only for screen readers. */
  .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
  }
  .screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 0.313rem;
    line-height: normal;
    padding: 0.938rem 1.438rem 0.875rem;
    text-decoration: none;
    top: 0.313rem;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
  }
  
  /* Do not show the outline on the skip link target. */
  #content[tabindex="-1"]:focus {
    outline: 0;
  }
  
  /*--------------------------------------------------------------
  # Alignments
  --------------------------------------------------------------*/
  .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
  }
  
  .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
  }
  
  .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
  a img.alignright {
    float: right;
    margin: 0.313rem 0 1.25rem 1.25rem;
  }
  
  a img.alignnone {
    margin: 0.313rem 1.25rem 1.25rem 0;
  }
  
  a img.alignleft {
    float: left;
    margin: 0.313rem 1.25rem 1.25rem 0;
  }
  
  a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
  .wp-caption.alignnone {
    margin: 0.313rem 1.25rem 1.25rem 0;
  }
  
  .wp-caption.alignleft {
    margin: 0.313rem 1.25rem 1.25rem 0;
  }
  
  .wp-caption.alignright {
    margin: 0.313rem 0 1.25rem 1.25rem;
  }
  
  /*--------------------------------------------------------------
  # Clearings
  --------------------------------------------------------------*/
  .clear:before,
  .clear:after,
  .entry-content:before,
  .entry-content:after,
  .comment-content:before,
  .comment-content:after,
  .site-header:before,
  .site-header:after,
  .site-content:before,
  .site-content:after,
  .site-footer:before,
  .site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
  }
  
  .clear:after,
  .entry-content:after,
  .comment-content:after,
  .site-header:after,
  .site-content:after,
  .site-footer:after {
    clear: both;
  }
  
  /*--------------------------------------------------------------
  # Widgets
  --------------------------------------------------------------*/
  .widget {
    margin: auto 0 auto auto;
    font-size: 14px;
    color: var(--color-white);
    /* Make sure select elements fit in widgets. */
  }
  .widget select {
    max-width: 100%;
  }
  
  .widget_search .search-form input[type="submit"] {
    display: none;
  }
  
  .nav > li > a:focus,
  .nav > li > a:hover {
    color: var(--color-panarello-bisq-light-60) !important;
    text-decoration: none;
  }
  .half-rule {
    width: 6rem;
    margin: 2.5rem 0;
  }
  .widget_categories .nav-link {
    display: inline-block;
  }
  .sub-menu.nav.flex-column{
    position: absolute;
  }
  .menu-menu-footer-container, .menu-menu-footer-eng-container {
      padding-right: 52px;
  }
  
  /*--------------------------------------------------------------
  # Content
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  ## Posts and pages
  --------------------------------------------------------------*/
  .page-title, .page-subtitle{
    text-align: center !important;
    width: 100%;
  }
  .page-title{
    padding: 0;
    font-size: 30px;
    font-weight: normal;
  }
  .page-subtitle{
    font-weight: 600;
    color: var(--color-gluten-light-60) !important;
    text-transform: uppercase;
  }
  .grid-categ{
    background-color: var(--bg-light-grey);
    padding: 0;
    text-align: center;
    display: flex;
  }
  .category-txt{
    margin: auto;
    max-width: 200px;
  }
  .category-b {
      color: var(--color-white) !important;
      text-transform: uppercase;
      background: var(--color-panarello-bisq-light-60);
      padding: .5rem 1rem;
      font-size: 14px;
      font-weight: 600;
      transition: all 0.2s;
      display: inline-block;
  }
  a.category-b:hover{
    color: var(--color-white);
    background: var(--color-panarello-choc-deep-22);
    text-decoration: none;
  }
  .category-b.mobile{
    opacity: 0;
    visibility: hidden;
  }
  .line-store a.category-b:hover{
    box-shadow: 0px 0px 0px 2px var(--color-panarello-bisq-light-60);
  }
  .category-img{
    padding: 0;
  }
  .category-d {
      font-weight: 300;
  }
  .category-t {
      text-transform: uppercase;
      font-family: Open Sans;
  }
  .grid-categ::before {
      content: ' ';
      position: absolute;
      border-style: solid;
      border-width: 2rem 2rem 2rem 0;
      border-color: transparent var(--bg-light-grey);
  }
  /* .grid-categ.order-1::before{
    left: -1.9rem;
    bottom: calc(50% - 2rem);
  } */
  .grid-categ.order-1::before{
    bottom: -2.9rem;
    right: calc(50% - 1rem);
    transform: rotate(270deg);
    z-index: 100;
  } 
  .grid-categ.order-md-6::before{
    top: -2.9rem;
    right: calc(50% - 1rem);
    transform: rotate(90deg);
    left: unset;
    bottom: unset;
  }
  .grid-categ.order-3::before{
    right: -2rem;
    bottom: calc(50% - 2rem);
    border-width: 2rem 0rem 2rem 2rem;
    z-index: 99;
  }
  /* Card categorie: colonna Bootstrap separata dalla card — così l’inner può riempire l’altezza riga */
  .home-category-row {
    align-items: stretch;
  }
  .home-category-row > .home-category-col {
    display: flex;
    flex-direction: column;
    align-self: stretch;
  }
  .home-category-row > .home-category-col > .home-category-card {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
  }

  .home-category-card .grid-categ::before {
    display: none;
  }
  .home-category-card .grid-categ {
    position: relative;
    padding: 2rem 1.25rem 2.5rem;
    min-height: 0;
    align-items: center;
    flex: 1 1 auto;
    flex-direction: column;
  }
  .home-category-card .category-txt {
    max-width: 100%;
    width: 100%;
    padding: 0 0.5rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    align-items: center;
  }
  .home-category-card .category-img a {
    display: block;
    line-height: 0;
  }

  .home-category-row--minimal {
    margin-top: 40px !important;
  }

  /* Homepage shortcode categorie minimal: layout area immagine (gradiente = .panarello-product-photo-gradient) */
  .home-category-row--minimal .home-category-card .category-img {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 256px;
  }
  .home-category-row--minimal .home-category-card .category-img a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 256px;
    line-height: 0;
  }
  .home-category-row--minimal .home-category-card .category-img img {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    object-fit: cover;
    object-position: center;
  }

  /* Zoom immagine all’hover (card categorie home, card negozi, …) */
  a.panarello-hover-zoom img {
    transition: transform 0.4s ease;
    transform: scale(1);
    transform-origin: center center;
  }
  a.panarello-hover-zoom:hover img,
  a.panarello-hover-zoom:focus-visible img {
    transform: scale(1.12);
  }
  @media (prefers-reduced-motion: reduce) {
    a.panarello-hover-zoom img {
      transition: none;
    }
    a.panarello-hover-zoom:hover img,
    a.panarello-hover-zoom:focus-visible img {
      transform: none;
    }
  }

  /* Homepage categorie: titolo serif, descrizione allineata; CTA = stile globale .category-b */
  .home-category-row--minimal .home-category-card .grid-categ {
    background-color: transparent;
    padding: 0rem 0.25rem 0;
    align-items: stretch;
  }
  .home-category-row--minimal .home-category-card .category-t {
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
    text-transform: none;
    margin-bottom: 0.75rem;
    color: #333;
    text-align: center;
    flex-shrink: 0;
  }
  .home-category-row--minimal .home-category-card .category-d {
    font-family: Open Sans, sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0;
    color: #444;
    text-align: center;
    flex: 0 0 auto;
    width: 100%;
    min-height: 90px;
  }
  .home-category-row--minimal .home-category-card a.category-b {
    flex-shrink: 0;
    margin-top: auto;
  }

  /* Homepage: griglia negozi — card unificate (anno attaccato al nome) */
  /* Fascia beige a tutta larghezza; griglia card dentro .container (markup inc/panarello-negozi-cards.php) */
  .line-store {
    background-color: var(--color-panarello-bisq-extrapale-bg-96) !important;
  }
  .line-store--negozi-cards__beige-strip {
    background-color: var(--color-panarello-bisq-extrapale-bg-96) !important;
    width: 100%;
  }

  .certificationi-wrapper {
    background-color: var(--color-panarello-bisq-extrapale-bg-96) !important;
    padding-bottom: 30px;
  }

  .line-store--negozi-cards .home-negozi-grid.store {
    background-color: transparent;
    padding-top: 2rem;
    padding-bottom: 2rem;
    row-gap: 1.25rem;
    align-items: flex-start;
  }
  .line-store--negozi-cards .store-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: auto;
    min-height: 0;
  }
  .line-store--negozi-cards .slide-link {
    display: block;
    position: static;
  }
  .line-store--negozi-cards .store-card-link:hover,
  .line-store--negozi-cards .store-card-link:focus-visible {
    text-decoration: none;
    color: inherit;
  }
  .line-store--negozi-cards .store-card {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    background-color: var(--bg-light-grey);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(90, 50, 23, 0.08);
    transition: box-shadow 0.25s ease;
  }
  .line-store--negozi-cards a.store-card-link:hover .store-card,
  .line-store--negozi-cards a.store-card-link:focus-visible .store-card {
    box-shadow: 0 8px 22px rgba(90, 50, 23, 0.14);
  }
  .line-store--negozi-cards .store-card__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }
  .line-store--negozi-cards .store-card__visual .sedi-slide {
    margin: 0 auto;
    display: block;
    width: auto;
    max-width: 100%;
  }
  .line-store--negozi-cards .store-card__body {
    display: flex;
    flex-direction: column;
    margin-top: 0;
    flex-shrink: 0;
    text-align: center;
    background-color: var(--color-panarello-bisq-light-60);
  }
  .line-store--negozi-cards .anno {
    display: block;
    margin: 0.25rem 0.75rem 0;
    padding: 0 0.15rem 0.15rem;
    color: var(--color-panarello-choc-deep-22);
    font-weight: 600;
  }
  .line-store--negozi-cards .sedi {
    position: static;
    right: auto;
    bottom: auto;
    transform: none;
    margin: 0;
    padding: 0.55rem 0.75rem 0.75rem;
    background-color: var(--color-panarello-choc-deep-22);
    color: var(--color-white);
    font-family: 'Libre Baskerville', serif;
    font-size: clamp(1.2rem, 2.8vw, 1.65rem);
    line-height: 1.2;
    width: 100%;
    box-sizing: border-box;
  }

  @media (min-width: 992px) {
    .line-store--negozi-cards .home-negozi-grid.store {
      align-items: stretch;
    }
    .line-store--negozi-cards .store-card-link {
      height: 100%;
    }
    .line-store--negozi-cards .store-card {
      height: 100%;
    }
    .line-store--negozi-cards .store-card__body {
      margin-top: auto;
    }
  }

  .store{
    background-color: var(--color-panarello-bisq-pale-bg);
    padding-top: 3rem;
    padding-bottom: 2rem;
    position: relative;
  }
  /* Legacy: linea verticale centrale; senza position:relative su .store si ancorava al viewport
     e appariva tra le due card categorie sopra il blocco negozi. Non più usata nel layout card. */
  .store::before {
    content: none;
    display: none;
  }
  .sedi{
    display: inline-block;
    color: var(--color-neutral-deep-22);
    font-weight: 600;
    margin: auto;
    margin-bottom: 0;
    margin-top: 1.2rem;
  }
  .sedi-slide{
    max-height: 200px;
    margin: auto;
  }
  .slide-link {
    display: grid;
    position: relative;
  }
  .sedi{
      position: absolute;
      bottom: -133px;
      color: var(--color-white);
      font-size: 30px;
      right: 50%;
      transform: translateX(50%);
      font-family: 'Libre Baskerville', serif;
  }
  .line-store{ position: relative; }
  /* Solo negozi: ::before ha z-index -1; senza stacking context la striscia può finire sotto il parent e lasciare gap bianco */
  .line-store.line-store--negozi-cards {
    isolation: isolate;
  }
  .line-store::before{
    content: ' ';
    display: block;
    height: 130px;
    position: absolute;
    z-index: -1;
    width: 100%;
    bottom: 18px;
    left: 0;
    right: 0;
  }
  /* Home negozi: fascia marrone full-bleed (come layout originale) */
  .line-store.line-store--negozi-cards::before {
    width: 100vw;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    /* Il blocco base usa bottom: 18px — qui lascia una riga bianca sopra .image-bg in homepage */
    bottom: 0;
  }
  .page-template-template-contatti .line-store::before{
    content: ' ';
    bottom: 2px !important;
  }
  .image-bg{
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 8rem 0;
  }
  .italic-quote{
    font-family: 'Libre Baskerville', serif;;
    font-style: italic;
    letter-spacing: 0.5px;
  }
  .pattern-bg{
    padding: 6rem 0;
  }
  .image-circle{
    height: 150px;
    max-width: 150px;
    border-radius: 50%;
    overflow: hidden;
    padding: 0;
  }
  .ingr-img{
    height: 100%;
    width: auto;
    max-width: unset;
  }
  .link-doc{
    font-weight: normal;
    font-size: 1.2rem;
    color: var(--color-neutral-deep-22);
  }
  a:hover .link-doc{
    color: var(--color-panarello-bisq-light-60);
    }
  .img-container{
    overflow: hidden;
  }
  .ingr-img2{
    position: relative;
  }
  .ingr-t{
    font-weight: 600;
    margin-bottom: 15px;
    text-transform: uppercase;
  }
  .ingr-d{
    font-weight: 300;
    margin: 0;
  }
  /* Home: slider carousel — più grande da mobile, max 700px da desktop */
  #home-carousel .owl-item img {
    width: 100%;
    object-fit: cover;
  }
  @media (max-width: 767.98px) {
    #home-carousel .owl-item img {
      height: 55vw;
      min-height: 220px;
    }
  }
  @media (min-width: 768px) and (max-width: 991.98px) {
    #home-carousel .owl-item img {
      height: 45vw;
      max-height: 700px;
    }
  }
  @media (min-width: 992px) {
    #home-carousel .owl-item img {
      max-height: 700px;
    }
  }

  /* Punti vendita: slider negozi — più grande da mobile, max 700px da desktop */
  #slider-negozi .owl-item img {
    width: 100%;
    object-fit: cover;
  }
  @media (max-width: 767.98px) {
    #slider-negozi .owl-item img {
      height: 55vw;
      min-height: 220px;
    }
    .page-template-template-punti-vendita .marginHead {
      padding-top: 142px !important;
     } 
  }
  @media (min-width: 768px) and (max-width: 991.98px) {
    #slider-negozi .owl-item img {
      height: 45vw;
      max-height: 700px;
    }
  }
  @media (min-width: 992px) {
    #slider-negozi .owl-item img {
      max-height: 700px;
    }
  }

  /* Punti vendita: elenco negozi a griglia — 1° a sinistra, 2° a destra, riga per riga (da lg) */
  .panarello-pdv-page .panarello-pdv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(1rem, 4vw, 3rem);
    row-gap: 1.75rem;
    align-items: start;
  }
  @media (min-width: 992px) {
    .panarello-pdv-page .panarello-pdv-grid > .panarello-pdv-store:nth-child(odd) {
      grid-column: 1;
    }
    .panarello-pdv-page .panarello-pdv-grid > .panarello-pdv-store:nth-child(even) {
      grid-column: 2;
    }
  }
  @media (max-width: 991.98px) {
    .panarello-pdv-page .panarello-pdv-grid {
      grid-template-columns: 1fr;
    }
    .panarello-pdv-page .panarello-pdv-grid > .panarello-pdv-store:nth-child(odd),
    .panarello-pdv-page .panarello-pdv-grid > .panarello-pdv-store:nth-child(even) {
      grid-column: auto;
    }
  }
  /* Punti vendita: tipo (Pasticceria, Caffetteria) — markup .panarello-pdv-tipo o primo <p> in HTML */
  .panarello-pdv-page .panarello-pdv-store__desc {
    font-weight: 300;
    margin: 0;
    color: #444;
    font-size: 1rem;
    line-height: 1.55;
  }
  .panarello-pdv-page .panarello-pdv-tipo {
    display: block;
    font-size: 1.125rem;
    line-height: 1.35;
    margin-bottom: 0.35rem;
    letter-spacing: 0.02em;
  }
  .panarello-pdv-page .panarello-pdv-tipo-strong {
    font-weight: 700;
    color: var(--color-gluten-extradeep-15);
  }
  .panarello-pdv-page .panarello-pdv-tipo-light {
    font-weight: 400;
    color: var(--color-gluten-medium-50);
  }
  .panarello-pdv-page .panarello-pdv-rest {
    font-weight: 300;
    color: #444;
    font-size: 1rem;
  }
  .panarello-pdv-page .panarello-pdv-store__desc > p:first-child {
    font-weight: 500;
    color: var(--color-gluten-extradark-30);
    font-size: 1.0625rem;
    line-height: 1.35;
    margin-bottom: 0.35rem;
  }
  .panarello-pdv-page .panarello-pdv-store__desc > p > a {
    font-weight: 600;
    color: var(--color-gluten-extradark-30);
    font-size: 1.15rem;
    line-height: 1.35;
    margin-bottom: 0.35rem;
  }
  .panarello-pdv-page .panarello-pdv-store__desc > p:not(:first-child) {
    font-weight: 300;
    color: #444;
    font-size: 1rem;
    margin-top: 0;
  }
  /* WYSIWYG senza <p> diretti: prima riga più morbida (grassetto solo sulla prima lettera) */
  .panarello-pdv-page .panarello-pdv-store__desc:not(:has(> p))::first-line {
    font-weight: 500;
    color: var(--color-gluten-extradark-30);
    font-size: 1.0625rem;
  }
  .panarello-pdv-page .panarello-pdv-store__desc:not(:has(> p))::first-letter {
    font-weight: 700;
    color: var(--color-gluten-extradeep-15);
    font-size: 1.15em;
  }
  .ingredienti-home a{
    display: flex;
    color: initial;
    flex-wrap: wrap;
  }
  #content.site-content {
    padding-bottom: 3.75rem;
    padding-top: 4.125rem;
  }
  
  .sticky .entry-title::before {
    content: '\f08d';
    font-family: "Font Awesome\ 5 Free";
    font-size: 1.563rem;
    left: -2.5rem;
    position: absolute;
    top: 0.375rem;
    font-weight: 900;
  }
  
  .sticky .entry-title {
    position: relative;
  }
  
  .single .byline,
  .group-blog .byline {
    display: inline;
  }
  
  .page-content,
  .entry-content,
  .entry-summary {
    margin: 1.5em 0 0;
  }
  
  .page-links {
    clear: both;
    margin: 0 0 1.5em;
  }
  
  .page-template-blank-page .entry-content,
  .blank-page-with-container .entry-content {
    margin-top: 0;
  }
  
  .post.hentry {
    margin-bottom: 4rem;
  }
  
  .posted-on, .byline, .comments-link {
    color: #9a9a9a;
  }
  
  .entry-title > a {
    color: inherit;
  }
  .gluten{
    margin-right: 1rem;
  }
  #product-info p{
    text-align: justify;
  }
  #product-info .gluten-p{
    text-align: left;
  }
  #product-info div{
    text-align: left !important;
  }
  .container p{
    text-align: justify;
  }
  .category-txt p{
    text-align: center;
  }
  #product-page{
    text-align: left;
  }
  .bwg_container{
    margin: 0;
  }
  #bwg_container1_0 #bwg_container2_0 .bwg-container-0.bwg-album-thumbnails{
    padding-top: 0 !important;
    padding-left: 0 !important;
  }
  /*--------------------------------------------------------------
  ## Comments
  --------------------------------------------------------------*/
  .comment-content a {
    word-wrap: break-word;
  }
  
  .bypostauthor {
    display: block;
  }
  
  .comment-body .pull-left {
    padding-right: 0.625rem;
  }
  
  .comment-list .comment {
    display: block;
  }
  
  .comment-list {
    padding-left: 0;
  }
  
  .comments-title {
    font-size: 1.125rem;
  }
  
  .comment-list .pingback {
    border-top: 1px solid rgba(0, 0, 0, 0.125);
    padding: 0.563rem 0;
  }
  
  .comment-list .pingback:first-child {
    border: medium none;
  }
  
  /*--------------------------------------------------------------
  # Infinite scroll
  --------------------------------------------------------------*/
  /* Globally hidden elements when Infinite Scroll is supported and in use. */
  .infinite-scroll .posts-navigation,
  .infinite-scroll.neverending .site-footer {
    /* Theme Footer (when set to scrolling) */
    display: none;
  }
  
  /* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
  .infinity-end.neverending .site-footer {
    display: block;
  }
  
  /*--------------------------------------------------------------
  # Media
  --------------------------------------------------------------*/
  .page-content .wp-smiley,
  .entry-content .wp-smiley,
  .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
  }
  
  /* Make sure embeds and iframes fit their containers. */
  embed,
  iframe,
  object {
    max-width: 100%;
  }
  
  /*--------------------------------------------------------------
  ## Captions
  --------------------------------------------------------------*/
  .wp-caption {
    background: #f1f1f1 none repeat scroll 0 0;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 0.313rem 0.313rem 0;
    text-align: center;
  }
  .wp-caption img[class*="wp-image-"] {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 100%;
    padding: 0;
    width: auto;
  }
  .wp-caption .wp-caption-text {
    font-size: 0.688rem;
    line-height: 1.063rem;
    margin: 0;
    padding: 0.625rem;
  }
  
  .wp-caption-text {
    text-align: center;
  }
  .ancor{
    display: block;
    position: relative;
    top: calc(-92px - 1.4rem);
    visibility: hidden;
  }
  /*--------------------------------------------------------------
  ## Galleries
  --------------------------------------------------------------*/
  .gallery {
    margin-bottom: 1.5em;
  }
  
  .gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
  }
  .gallery-item .gallery-columns-2 {
    max-width: 50%;
  }
  .gallery-item .gallery-columns-3 {
    max-width: 33.33333%;
  }
  .gallery-item .gallery-columns-4 {
    max-width: 25%;
  }
  .gallery-item .gallery-columns-5 {
    max-width: 20%;
  }
  .gallery-item .gallery-columns-6 {
    max-width: 16.66667%;
  }
  .gallery-item .gallery-columns-7 {
    max-width: 14.28571%;
  }
  .gallery-item .gallery-columns-8 {
    max-width: 12.5%;
  }
  .gallery-item .gallery-columns-9 {
    max-width: 11.11111%;
  }
  
  .gallery-caption {
    display: block;
  }
  #bwg_container1_0 #bwg_container2_0 .bwg-container-0.bwg-album-thumbnails .bwg-title2{
    font-weight: normal !important;
    font-family: Open Sans !important;
  }
  /*--------------------------------------------------------------
  # Plugin Compatibility
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  ## Woocommerce
  --------------------------------------------------------------*/
  .woocommerce-cart-form .shop_table .coupon .input-text {
    width: 8.313rem !important;
  }
  
  .variations_form .variations .value > select {
    margin-bottom: 0.625rem;
  }
  
  .woocommerce-MyAccount-content .col-1,
  .woocommerce-MyAccount-content .col-2 {
    max-width: 100%;
  }
  
  /*--------------------------------------------------------------
  ## Elementor
  --------------------------------------------------------------*/
  .elementor-page article .entry-footer {
    display: none;
  }
  
  .elementor-page.page-template-fullwidth #content.site-content {
    padding-bottom: 0;
    padding-top: 0;
  }
  
  .elementor-page .entry-content {
    margin-top: 0;
  }
  
  /*--------------------------------------------------------------
  ## Visual Composer
  --------------------------------------------------------------*/
  .vc_desktop article .entry-footer {
    display: none;
  }
  
  .vc_desktop #content.site-content {
    padding-bottom: 0;
    padding-top: 0;
  }
  
  .vc_desktop .entry-content {
    margin-top: 0;
  }
  
  /*--------------------------------------------------------------
  # Footer
  --------------------------------------------------------------*/
  #footer-widget{
    background-color: var(--color-panarello-choc-deep-22);
  }
  #footer-widget .widget_media_image{
    margin:auto;
    margin-left: 0px;
  }
  
  footer#colophon {
    font-size: 85%;
  }
  .bg-orange{
    background-color: var(--color-panarello-bisq-light-60);
  }
  .bg-orange i{
    color: var(--color-white);
    font-size: 20px;
    margin: 0 10px;
    transition: all 0.3s;
  }
  .bg-orange i:hover{
    color: var(--color-panarello-choc-deep-22);
  }
  body:not(.theme-preset-active) footer#colophon {
    color: #99979c;
    background-color: #f7f7f7;
  }
  .navbar-dark .site-info {
    color: var(--color-white);
  }
  .copyright {
    font-size: 0.875rem;
    margin-bottom: 0;
    text-align: center;
  }
  
  .copyright a, footer#colophon a {
    color: inherit;
  }
  #media_image-2 img{
      max-width: 200px !important;
  }
  @media screen and (max-width: 767px) {
    #masthead .navbar-nav > li > a {
      padding-bottom: 0.938rem;
      padding-top: 0.938rem;
    }
  }
  /*--------------------------------------------------------------
  # Media Query
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  ## Notebook
  --------------------------------------------------------------*/
  @media only screen and (max-width: 1280px) {
    html {
      font-size: 95%;
    }
  }
  
  @media screen and (max-width: 1199px) {
    .navbar-dark .dropdown-item {
      color: var(--color-white);
    }
    .navbar-nav .dropdown-menu {
      background: transparent;
      box-shadow: none;
      border: none;
    }
  }
  /*--------------------------------------------------------------
  ## Netbook
  --------------------------------------------------------------*/
  @media only screen and (max-width: 1024px) {
  
  }
  /*--------------------------------------------------------------
  ## iPad
  --------------------------------------------------------------*/
  @media only screen and (max-width: 960px) {
  
  }
  /*--------------------------------------------------------------
  ## iPad
  --------------------------------------------------------------*/
  @media only screen and (max-width: 768px) {
    html {
      font-size: 90%;
    }
    .image-circle{
      margin: auto;
    }
  }
  /*--------------------------------------------------------------
  ## iPad
  --------------------------------------------------------------*/
  @media only screen and (max-width: 480px) {
    /*.carousel-item > img {
      height: 500px;
      max-width: none;
      transform: translateX(calc((100vw - 100%)/2));
    }*/
    a.category-b {
      margin-bottom: 10px!important;
    }
    .sedi-slide{
      max-height: 65px !important;
      margin: auto;
    }
    .line-store--negozi-cards .store-card__visual .sedi-slide {
      max-height: 280px !important;
    }
    header#masthead{
      background-color: rgba(90,50,23,0.82);
    }
    .mobile-marginHead{
      padding-top: calc(121px + 1.48rem);
    }
    .grid-categ.order-3::before {
      right: unset;
      left: -1.9rem;
      bottom: calc(50% - 2rem);
      border-width: 2rem 2rem 2rem 0;
    }
    .grid-categ.order-md-6::before{
      left: -1.9rem;
      bottom: calc(50% - 2rem);
      transform: rotate(180deg);
      border-width: 2rem 0rem 2rem 2rem;
      right: unset;
      top: unset;
      z-index:10 !important;
    }
    .category-img img{
      position: absolute;
      max-width: unset;
      max-height: 100%;
      transform: translateX(-5%);
      width: 106% !important;
      height: 106% !important;
      object-fit: cover !important;
    }
    .category-img{
      overflow: hidden;
    }
    .navbar-brand{
      margin-right: 0;
    }
    #masthead .container{
      padding: 0;
    }
    .navbar-brand {
      width: 230px;
    }
    .activescroll .navbar-brand{
      width: 125px;
    }
    #menu-menu-footer.nav, #menu-menu-footer-eng.nav{
      display: block;
    }
    .widget {
      margin: 2rem auto auto 0;
    }
    .pattern-bg .title p strong:first-child {
      display: block;
    }
    .item {
      min-height: 65px;
    }
    #time2 .owl-nav button.owl-next, #time2 .owl-nav button.owl-prev {
    top: 36%;
    }
    .category-b.mobile{
      opacity: 1;
      visibility: visible;
    }
    .home-category-card .category-img {
      overflow: hidden;
      min-height: 0;
    }
    .home-category-card .category-img img {
      position: static;
      transform: none;
      width: 100% !important;
      height: auto !important;
      max-width: 100%;
      object-fit: cover;
    }
  }
  .owl-carousel .owl-nav button.owl-next::after{
    content: '';
    border-bottom: .5em solid transparent;
    border-top: .5em solid transparent;
    border-right: 0;
    border-left: 0.5em solid;
    display: inline-block;
    color: var(--color-panarello-choc);
  }
  .owl-carousel .owl-nav button.owl-prev::after{
    content: '';
    border-bottom: .5em solid transparent;
    border-top: .5em solid transparent;
    border-right: 0.5em solid;
    border-left: 0;
    display: inline-block;
    color: var(--color-panarello-choc);
  }
  .owl-carousel .owl-nav button.owl-prev::hover , .owl-carousel .owl-nav button.owl-next::hover{
    color: var(--color-panarello-choc-deep-22) !important;
  }
  .owl-next span, .owl-prev span{
    display: none;
  }
  .owl-theme .owl-nav [class*="owl-"]:hover{
    background: none !important;
  }
  .owl-theme .owl-dots{
    line-height: 1;
  }
  /*.owl-theme {
    .owl-nav {

      [class*='owl-'] {
        transition: all .3s ease;
        &.disabled:hover {
         background-color: #D6D6D6;
        }   
      }
    }
  }*/
  .owl-theme .owl-dots .owl-dot span{
    background-color: transparent !important;
    border: solid 1px var(--color-panarello-bisq-light-60);
  }
  .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span{
    background-color: var(--color-panarello-bisq-light-60) !important;
  }
  .owl-theme .owl-dots .owl-dot:hover span{
    opacity: 0.9;
  }
  .owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  /**
   * Owl Carousel 2: pan-x da solo su mobile può bloccare lo scroll verticale della pagina.
   * pan-x + pan-y + pinch: swipe orizzontale sul carosello e scroll pagina quando il gesto è verticale.
   */
  .owl-carousel .owl-stage-outer {
    touch-action: pan-x pan-y pinch-zoom;
    -ms-touch-action: pan-x pan-y pinch-zoom;
  }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-x pan-y pinch-zoom;
    -ms-touch-action: pan-x pan-y pinch-zoom;
  }

  #sync1.owl-theme {
    position: relative;
  }
  /* Singolo prodotto: niente pallini sull’hero se esistono le thumbnail (evita doppia fila di indicatori). */
  body.single-prodotti .product-img--single-hero #sync1 .owl-dots {
    display: none !important;
  }
  body.single-prodotti .product-img--single-thumbs #sync2 .owl-dots {
    display: none !important;
  }
  .owl-next, .owl-prev {
    width: 22px;
    height: 40px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
  }
  .owl-prev {
    left: 0px;
  }
  .owl-next {
    right: 0px;
  }
  
  .leaflet-marker-icon {
    background-color: var(--color-white);
    border-radius: 50%;
    box-shadow: rgb(160, 109, 41) 0px 0px 16px inset;
    border: 1px solid rgb(120, 87, 65);
    outline-style: groove;
    outline-width: 1px !important;
    outline-color: var(--color-gluten-light-60);
  }

/*--------------------------------------------------------------
# Jet Woo Product Gallery (Elementor + Swiper)
# Elementor template 5573 uses extreme padding (320px) and nav at -300px — unusable.
# These rules load after most stylesheets; !important beats non-!important inline Elementor CSS.
--------------------------------------------------------------*/
.elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery,
.elementor-widget-jet-woo-product-gallery-slider .jet-woo-swiper {
  max-width: 100%;
}

.elementor-widget-jet-woo-product-gallery-slider .jet-woo-swiper {
  overflow: visible;
}

.elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery-slider.swiper-container,
.elementor-widget-jet-woo-product-gallery-slider .swiper-gallery-top {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}

.elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery-slider .swiper-slide {
  box-sizing: border-box;
}

.elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery-slider .swiper-slide img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.elementor-widget-jet-woo-product-gallery-slider
  .jet-woo-product-gallery-slider.swiper-container:not(.swiper-initialized)
  .swiper-slide {
  width: 100% !important;
  flex-shrink: 0;
}

.elementor-widget-jet-woo-product-gallery-slider .swiper-button-prev,
.elementor-widget-jet-woo-product-gallery-slider .swiper-button-next {
  z-index: 3;
}

/* Click target + zoom/lightbox (Jet / PhotoSwipe) */
.elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery__image-link {
  position: relative;
  z-index: 4;
  pointer-events: auto !important;
  cursor: zoom-in;
}

.elementor-widget-jet-woo-product-gallery-slider .jet-swiper-nav {
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  z-index: 25 !important;
  position: absolute;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Beat .elementor-5573 .elementor-element-5b40455 … rules from Elementor post CSS */
html body.single-prodotti .elementor-5573 .elementor-element.elementor-element-5b40455 > .elementor-widget-container,
html body.single-prodotti .elementor-widget-jet-woo-product-gallery-slider > .elementor-widget-container {
  padding-left: max(12px, 2vw) !important;
  padding-right: max(12px, 2vw) !important;
  overflow: visible !important;
}

html body.single-prodotti .elementor-5573 .elementor-element.elementor-element-5b40455 .jet-woo-product-gallery-slider .jet-swiper-nav.jet-swiper-button-prev,
html body.single-prodotti .elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery-slider .jet-swiper-nav.jet-swiper-button-prev {
  left: 10px !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

html body.single-prodotti .elementor-5573 .elementor-element.elementor-element-5b40455 .jet-woo-product-gallery-slider .jet-swiper-nav.jet-swiper-button-next,
html body.single-prodotti .elementor-widget-jet-woo-product-gallery-slider .jet-woo-product-gallery-slider .jet-swiper-nav.jet-swiper-button-next {
  right: 10px !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

html body.single-prodotti .elementor-widget-jet-woo-product-gallery-slider .jet-woo-swiper-gallery-thumbs.swiper-container,
html body.single-prodotti .elementor-widget-jet-woo-product-gallery-slider .swiper-gallery-thumb .swiper-container {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* --- Shortcode [panarello_stats] --- */
.panarello-stats-counters {
  width: 100%;
  background-color: var(--color-panarello-bisq-extrapale-bg-96);
  color: var(--color-panarello-choc-deep-22);
}

.panarello-stats-counters__inner {
  padding-top: clamp(2rem, 5vw, 3.5rem);
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.panarello-stats-counters__grid {
  row-gap: clamp(1.75rem, 4vw, 2.5rem);
}

.panarello-stats-counters__scroll-indicator {
  display: none;
}

.panarello-stats-counter {
  display: flex;
  justify-content: center;
  align-items: stretch;
}

.panarello-stats-counter__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 16rem;
  margin-left: auto;
  margin-right: auto;
  gap: 0.35rem;
}

.panarello-stats-counter--label-below .panarello-stats-counter__body {
  flex-direction: column;
}

.panarello-stats-counter--label-above .panarello-stats-counter__body {
  flex-direction: column;
}

.panarello-stats-counter__value {
  font-family: inherit;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-size: clamp(2.75rem, 8vw, 4.25rem);
  color: var(--color-panarello-bisq-dark-40);
  font-variant-numeric: tabular-nums;
}

.panarello-stats-counter__label {
  display: block;
  font-size: clamp(1rem, 2.4vw, 1.2rem);
  line-height: 1.35;
  font-weight: 700;
  color: var(--color-panarello-choc-deep-22);
  opacity: 0.95;
}

.panarello-stats-counter--label-above .panarello-stats-counter__label {
  order: -1;
  margin-bottom: 0.15rem;
}

.panarello-stats-counter--label-below .panarello-stats-counter__label {
  margin-top: 0.15rem;
}

@media (max-width: 767.98px) {
  /* Full-bleed rispetto al .container della pagina */
  .panarello-stats-counters {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .panarello-stats-counters__inner.container {
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .panarello-stats-counters__inner {
    padding-top: clamp(2.25rem, 6vw, 3rem);
    padding-bottom: clamp(2.25rem, 6vw, 3rem);
  }

  /* Griglia 2 colonne: due contatori visibili per riga */
  .panarello-stats-counters__grid.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
    overflow-x: visible;
    overflow-y: visible;
    row-gap: clamp(1.5rem, 5vw, 2.25rem);
    column-gap: 0;
  }

  .panarello-stats-counters__grid.row > [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
    padding-left: max(0.65rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.65rem, env(safe-area-inset-right, 0px));
  }

  .panarello-stats-counter__body {
    max-width: none;
    min-height: clamp(8.5rem, 28vh, 12.5rem);
    justify-content: center;
    gap: 0.45rem;
  }

  .panarello-stats-counter__value {
    font-size: clamp(2.35rem, 9.5vw, 3.85rem);
    line-height: 1;
  }

  .panarello-stats-counter__label {
    font-size: clamp(0.95rem, 3.2vw, 1.15rem);
    line-height: 1.3;
  }

  .panarello-stats-counters__scroll-indicator {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .panarello-stats-counters__grid {
    row-gap: 2rem;
  }
}

/* === panarello-chi-siamo-gallery (Azienda / Chi siamo) — masonry + fullscreen lightbox — inc/panarello-chi-siamo-gallery.php === */
/* Bridge invisibile: lightbox prodotto riusa lo stesso JS senza mostrare una seconda griglia */
.panarello-chi-siamo-gallery--product-lightbox {
  margin: 0;
  padding: 0;
  position: relative;
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__masonry--product-bridge {
  column-count: 1;
  column-gap: 0;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Fullscreen lightbox scheda prodotto: stesso beige delle tile foto */
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-backdrop {
  background: var(--product-photo-surface-gradient-end);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-caption {
  color: rgba(90, 50, 23, 0.88);
}
.term-torte-speciali-panarello .panarello-chi-siamo-gallery__fs-caption {
  display:none !important;
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-title {
  color: rgba(46, 32, 22, 0.96);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-desc {
  color: rgba(46, 32, 22, 0.85);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-desc a {
  color: rgba(90, 50, 23, 0.95);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-prev,
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-next {
  background: var(--color-panarello-choc-deep-22);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-prev:hover,
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-next:hover,
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-prev:focus,
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-next:focus {
  background: var(--color-gluten-dark-40);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-prev::after,
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-next::after {
  border-left-color: var(--color-white);
  border-bottom-color: var(--color-white);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-img {
  box-shadow: 0 8px 28px rgba(90, 50, 23, 0.15);
}
.panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-loader::after {
  border-color: rgba(90, 50, 23, 0.22);
  border-top-color: rgba(90, 50, 23, 0.78);
}

.panarello-chi-siamo-gallery__masonry {
  column-count: 2;
  column-gap: 1rem;
}

@media (min-width: 768px) {
  .panarello-chi-siamo-gallery__masonry {
    column-count: 3;
  }
}

@media (min-width: 1200px) {
  .panarello-chi-siamo-gallery__masonry {
    column-count: 4;
  }
}

/* Masonry torte speciali: 2 colonne su mobile, 3 da tablet in su */
.panarello-chi-siamo-gallery__masonry.panarello-chi-siamo-gallery__masonry--cols-3 {
  /* Non masonry a colonne: griglia regolare che riempie orizzontalmente */
  column-count: initial;
  column-gap: initial;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .panarello-chi-siamo-gallery__masonry.panarello-chi-siamo-gallery__masonry--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.panarello-chi-siamo-gallery__fs-captionline {
  margin: 0 0 0.65em;
  font-size: 0.95rem;
  line-height: 1.45;
}

.panarello-chi-siamo-gallery__cell {
  break-inside: avoid;
  margin: 0 0 1rem;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

.panarello-chi-siamo-gallery__open {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #f4f0ec;
  cursor: pointer;
  border-radius: 2px;
  overflow: hidden;
  transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.panarello-chi-siamo-gallery__open:hover,
.panarello-chi-siamo-gallery__open:focus {
  opacity: 0.92;
  outline: none;
}

.panarello-chi-siamo-gallery__open:focus-visible {
  outline: 2px solid rgba(90, 50, 23, 0.85);
  outline-offset: 2px;
}

.panarello-chi-siamo-gallery__open img {
  width: 100%;
  height: auto;
  display: block;
}

/* Gallery torte masonry: stessa superficie foto della scheda prodotto (template-parts/content-prodotti.php, .product-img--single-hero) */
.panarello-chi-siamo-gallery--torte-masonry .panarello-chi-siamo-gallery__open {
  background: transparent;
  border-radius: 0;
}
.panarello-chi-siamo-gallery--torte-masonry .panarello-chi-siamo-gallery__open .product-img.panarello-chi-siamo-gallery__torte-product-img {
  height: auto;
  min-height: 0;
  padding: 1rem 0.85rem;
  margin: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767.98px) {
  .panarello-chi-siamo-gallery--torte-masonry .panarello-chi-siamo-gallery__open .product-img.panarello-chi-siamo-gallery__torte-product-img {
    aspect-ratio: 1 / 1;
    width: 100%;
    padding: 0.5rem;
  }
}
@media (min-width: 768px) {
  .panarello-chi-siamo-gallery--torte-masonry .panarello-chi-siamo-gallery__open .product-img.panarello-chi-siamo-gallery__torte-product-img {
    min-height: 280px;
  }
}
.panarello-chi-siamo-gallery--torte-masonry .panarello-chi-siamo-gallery__open .product-img.panarello-chi-siamo-gallery__torte-product-img img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(52vh, 420px);
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0 auto;
}
@media (max-width: 767.98px) {
  .panarello-chi-siamo-gallery--torte-masonry .panarello-chi-siamo-gallery__open .product-img.panarello-chi-siamo-gallery__torte-product-img img {
    max-height: 100%;
  }
}

body.panarello-csg-noscroll {
  overflow: hidden;
}

.panarello-chi-siamo-gallery__fs {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.panarello-chi-siamo-gallery__fs.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.panarello-chi-siamo-gallery__fs-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 12, 8, 0.92);
  cursor: pointer;
}

.panarello-chi-siamo-gallery__fs-inner {
  position: relative;
  z-index: 2;
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  overflow: auto;
  padding: 3rem 1.25rem 1.5rem;
  -webkit-overflow-scrolling: touch;
}

.panarello-chi-siamo-gallery__fs-figure {
  margin: 0;
  text-align: center;
}

.panarello-chi-siamo-gallery__fs-imgwrap {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}

.panarello-chi-siamo-gallery__fs-imgwrap.is-loading .panarello-chi-siamo-gallery__fs-img {
  opacity: 0.35;
  transition: opacity 0.2s ease;
}

.panarello-chi-siamo-gallery__fs-imgwrap:not(.is-loading) .panarello-chi-siamo-gallery__fs-img {
  opacity: 1;
  transition: opacity 0.25s ease;
}

.panarello-chi-siamo-gallery__fs-loader {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.panarello-chi-siamo-gallery__fs-imgwrap.is-loading .panarello-chi-siamo-gallery__fs-loader {
  opacity: 1;
  visibility: visible;
}

.panarello-chi-siamo-gallery__fs-loader::after {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  border: 3px solid rgba(255, 255, 255, 0.25);
  border-top-color: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  animation: panarello-csg-spin 0.7s linear infinite;
}

@keyframes panarello-csg-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .panarello-chi-siamo-gallery__fs-loader::after {
    animation: none;
    border-color: rgba(255, 255, 255, 0.45);
  }

  .panarello-chi-siamo-gallery--product-lightbox .panarello-chi-siamo-gallery__fs-loader::after {
    border-color: rgba(90, 50, 23, 0.38);
  }
}

.panarello-chi-siamo-gallery__fs-img {
  max-width: 100%;
  max-height: min(78vh, 900px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 2px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.panarello-chi-siamo-gallery__fs-caption {
  margin-top: 1.25rem;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  color: #f8f4ef;
  text-align: center;
}

.panarello-chi-siamo-gallery__fs-title {
  font-family: inherit;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--color-white);
}

.panarello-chi-siamo-gallery__fs-title:empty {
  display: none;
}

.panarello-chi-siamo-gallery__fs-desc {
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
}

.panarello-chi-siamo-gallery__fs-desc:empty {
  display: none;
}

.panarello-chi-siamo-gallery__fs-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 4;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 50%;
  background: var(--color-panarello-choc-deep-22);
  color: var(--color-white);
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 10px rgba(90, 50, 23, 0.22);
}

.panarello-chi-siamo-gallery__fs-close:hover,
.panarello-chi-siamo-gallery__fs-close:focus {
  outline: none;
  box-shadow: 0 3px 12px rgba(90, 50, 23, 0.28);
  border: 0px solid var(--color-panarello-bisq-medium-50) !important;
  background: var(--color-panarello-bisq-medium-50) !important;
  color: var(--color-white) !important;
}

.panarello-chi-siamo-gallery__fs-close:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 2px;
}

.panarello-chi-siamo-gallery__fs-prev,
.panarello-chi-siamo-gallery__fs-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 3rem;
  height: 3rem;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0px solid var(--color-panarello-choc) !important;
  background: var(--color-panarello-choc) !important;
  color: var(--color-white) !important;
}

.panarello-chi-siamo-gallery__fs-prev:hover,
.panarello-chi-siamo-gallery__fs-next:hover,
.panarello-chi-siamo-gallery__fs-prev:focus,
.panarello-chi-siamo-gallery__fs-next:focus {
  border: 0px solid var(--color-panarello-bisq-medium-50) !important;
  background: var(--color-panarello-bisq-medium-50) !important;
  color: var(--color-white) !important;
  outline: none;
}

.panarello-chi-siamo-gallery__fs-prev {
  left: 0.5rem;
}

.panarello-chi-siamo-gallery__fs-next {
  right: 0.5rem;
}

.panarello-chi-siamo-gallery__fs-prev::after,
.panarello-chi-siamo-gallery__fs-next::after {
  content: "";
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  flex-shrink: 0;
  box-sizing: border-box;
  border-left: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
}

/* Chevron da angolo inferiore-sinistro: rotazione diversa per punta sinistra / destra, centrate col flex sul bottone */
.panarello-chi-siamo-gallery__fs-prev::after {
  transform: rotate(45deg);
}

.panarello-chi-siamo-gallery__fs-next::after {
  transform: rotate(-135deg);
}

@media (max-width: 575.98px) {
  .panarello-chi-siamo-gallery__fs-prev {
    left: 0.25rem;
  }

  .panarello-chi-siamo-gallery__fs-next {
    right: 0.25rem;
  }
}

/* Slider + fullscreen torte speciali (archivio term ID 9, gallery da Opzioni sito) */
.panarello-chi-siamo-gallery--torte-slider.panarello-chi-siamo-gallery--product-lightbox {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}

.panarello-chi-siamo-gallery__masonry--torte-slider {
  column-count: 1;
  display: grid;
  grid-template-columns: minmax(2.75rem, 3.25rem) minmax(0, 1fr) minmax(2.75rem, 3.25rem);
  align-items: center;
  gap: 0.5rem 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}

.panarello-torte-slider__viewport {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background-color: var( --color-panarello-bisq-pale-85);
  border-radius: 2px;
  container-type: inline-size;
  container-name: panarello-torte-vp;
}

.panarello-torte-slider__viewport::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.panarello-torte-slider__strip {
  display: flex;
  flex-direction: row;
  width: max-content;
  min-height: 100%;
  background-color: var( --color-panarello-bisq-pale-85);
}

.panarello-torte-slider__slide {
  flex: 0 0 100cqi;
  width: 100cqi;
  max-width: 100cqi;
  scroll-snap-align: start;
  box-sizing: border-box;
  padding: 0 0.25rem;
}

.panarello-torte-slider__slide:first-child {
  padding-left: 0;
}

.panarello-torte-slider__slide:last-child {
  padding-right: 0;
}

.panarello-torte-slider__slide .panarello-chi-siamo-gallery__cell {
  margin: 0;
}

.panarello-torte-slider__open-frame {
  display: block;
  width: 100%;
  max-height: min(52vh, 420px);
  overflow: hidden;
  border-radius: 2px;
  background-color: var( --color-panarello-bisq-pale-85);
}

.panarello-torte-slider__open-frame img {
  width: 100%;
  height: 100%;
  max-height: min(52vh, 420px);
  object-fit: contain;
  display: block;
}

.panarello-torte-slider__slide-caption {
  margin: 0.65rem 0 0;
  padding: 0 0.25rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(46, 32, 22, 0.92);
}

.panarello-chi-siamo-gallery__masonry--torte-slider > .panarello-torte-slider__arrow--prev {
  grid-column: 1;
  justify-self: center;
}

.panarello-chi-siamo-gallery__masonry--torte-slider > .panarello-torte-slider__arrow--next {
  grid-column: 3;
  justify-self: center;
}

.panarello-torte-slider__arrow {
  width: 3rem;
  height: 3rem;
  border: 0;
  border-radius: 50%;
  background-color: var(--color-panarello-choc-deep-22);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 46% 46%;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  box-shadow: 0 2px 12px rgba(46, 32, 22, 0.2);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  z-index: 2;
}

.panarello-torte-slider__arrow:hover,
.panarello-torte-slider__arrow:focus {
  background-color: var(--color-gluten-dark-40);
  box-shadow: 0 3px 14px rgba(46, 32, 22, 0.28);
  outline: none;
}

.panarello-torte-slider__arrow:focus-visible {
  outline: 2px solid rgba(90, 50, 23, 0.85);
  outline-offset: 3px;
}

.panarello-torte-slider__arrow--prev {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z'/%3E%3C/svg%3E");
}

.panarello-torte-slider__arrow--next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E");
}

.btn-outline.medium {
  border: 3px solid var(--color-panarello-choc);
  background: var(--color-panarello-bisq-pale-bg-92);
  color: var(--color-panarello-choc);
  padding: .5rem 1rem;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
  border-radius: 0 !important;
}

.btn-outline.medium:hover {
  border: 3px solid var(--color-panarello-bisq-medium-50);
  background: var(--color-white);
  color: var(--color-panarello-bisq-medium-50);
}

.btn-primary,
.btn-primary.disabled, 
.btn-primary:disabled,
.btn-filled.medium {
  border-radius: 0 !important;
  border: 3px solid var(--color-panarello-choc) !important;
  background: var(--color-panarello-choc) !important;
  color: var(--color-white) !important;
  padding: .5rem 1rem;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
  opacity: 1 !important;
}

.btn-primary:hover,
.btn-filled.medium:hover {
  border: 3px solid var(--color-panarello-bisq-medium-50) !important;;
  background: var(--color-panarello-bisq-medium-50) !important;;
  color: var(--color-white) !important;;
}


@media (max-width: 575.98px) {
  .panarello-chi-siamo-gallery__masonry--torte-slider {
    grid-template-columns: minmax(2.35rem, 2.65rem) minmax(0, 1fr) minmax(2.35rem, 2.65rem);
    gap: 0.35rem 0.45rem;
  }

  .panarello-torte-slider__arrow {
    width: 2.65rem;
    height: 2.65rem;
    background-size: 50% 50%;
  }
}


/* === Torte Speciali — layout personalizzato tassonomia (term ID 9) === */

/* Bridge masonry invisibile (dentro la section, usato solo dal JS per scope) */
.panarello-torte-layout .panarello-chi-siamo-gallery__masonry--product-bridge {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
}

/* Wrapper principale: è la <section class="panarello-chi-siamo-gallery"> */
.panarello-torte-layout {
  width: 100%;
  position: relative;
}

/* Righe no-gutters */
.panarello-torte-layout__row {
  margin-bottom: 0;
}

/* ── Immagine quadrata (hero ACF e prima foto gallery) ── */
.panarello-torte-layout__square-img {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding:8px;
}

.panarello-torte-layout__square-img img {
  position: relative;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 8px;;
}



/* Variante gallery: cursore zoom */
.panarello-torte-layout__square-img--gallery {
  cursor: zoom-in;
}

/* ── Promo box (sfondo bianco) ── */
.panarello-torte-layout__promo-col {
  display: flex;
  align-items: stretch;
}

.panarello-torte-layout__promo-box {
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  line-height: 0.95rem;
  width: 100%;
  text-align: center;
  aspect-ratio: 1/1;
  border-radius: 8px;
  /* Altezza uguale alla colonna adiacente: si ottiene con align-items: stretch sul parent */
}

.panarello-torte-layout__promo-box--finale {
  justify-content: space-between;
}

.panarello-torte-layout__promo-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.5rem;
  color: var(--color-neutral-deep-22);
  max-width: 340px;
  margin: 0 auto;
}

.panarello-torte-layout__ondina {
  display: block;
  width: 60px;
  height: auto;
  margin: 0 auto 1.5rem;
  opacity: 0.55;
}

.panarello-torte-layout__ondina--bottom {
  margin: 1.5rem auto 0;
}

/* ── Griglia 2×2 foto gallery ── */
.panarello-torte-layout__grid-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  width: 100%;
  /* Altezza = metà della larghezza della colonna (50vw su desktop, 100vw su mobile) */
  /* Usiamo aspect-ratio sulla griglia per renderla quadrata come la colonna hero */
  aspect-ratio: 1 / 1;
}

/* Variante mezza altezza (righe 3-4: solo 1 riga di 2 foto) */
.panarello-torte-layout__grid-2x2--half {
  grid-template-rows: 1fr;
  aspect-ratio: 2 / 1;
}

.panarello-torte-layout__grid-cell {
  overflow: hidden;
}

/* Bottone gallery: occupa tutta la cella */
.panarello-torte-layout__gallery-btn {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: zoom-in;
  padding: 8px;
}

.panarello-torte-layout__promo-col {
  padding: 8px !important;
}

.panarello-torte-layout__gallery-btn--hero {
  display: block;
  width: 100%;
}

/* Foto gallery: riusa .product-img, override altezza per riempire la cella */
.panarello-torte-layout__gallery-img {
  width: 100%;
  height: 100%;
  box-shadow: none;
}

.panarello-torte-layout__gallery-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  max-width: none;
  max-height: none;
}

/* Riga 3: promo box finale deve essere alto quanto la griglia 2 foto a sinistra */
.panarello-torte-layout__row--r3 {
  align-items: stretch;
}

.panarello-torte-layout__row--r3 .panarello-torte-layout__promo-col {
  display: flex;
  flex-direction: column;
}

.panarello-torte-layout__row--r3 .panarello-torte-layout__promo-box--finale {
  flex: 1 1 auto;
  /* Stesso aspect-ratio della griglia --half adiacente (2 celle 1:1 affiancate = 2:1) */
  aspect-ratio: 2 / 1;
  min-height: 0;
  justify-content: center;
  gap: 1.5rem;
}

@media (max-width: 767.98px) {
  .panarello-torte-layout__row--r3 .panarello-torte-layout__promo-box--finale {
    aspect-ratio: unset;
    min-height: 180px;
  }
}
@media (max-width: 767.98px) {
  .panarello-torte-layout__promo-box {
    padding: 2rem 1.25rem;
    min-height: 200px;
  }

  .panarello-torte-layout__grid-2x2 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    aspect-ratio: unset;
  }

  .panarello-torte-layout__grid-2x2--half {
    aspect-ratio: 2 / 1;
  }
}

body.term-9 .text-subtitle {
  display: none !important;
}

.ripetitore-certificazioni img {
  max-height: 80px;
}

.maplibregl-ctrl-attrib-inner {
  display: none !important;
}

#spaccio_subtitle {
  margin-top: -44px;
  padding-bottom: 40px; 
}
.single-prodotti .page-title {
  padding-bottom: 25px!important;
}
.single-prodotti .page-subtitle {
  display: none !important;
}