/* Dizionario dei sogni — arcano, stesa a cinque carte, «Cosa hai sognato?» */
.bge-sogni-varianti { margin: 0; border-top: 1px solid var(--bge-gray-200, #e8e8e8); }
.bge-sogni-var { padding: 14px 4px; border-bottom: 1px solid var(--bge-gray-200, #e8e8e8); }
.bge-sogni-var dt { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.2rem; font-weight: 600; margin: 0 0 4px; }
.bge-sogni-var dd { margin: 0; font-size: 1.05rem; line-height: 1.6; }

/* la carta */
.bge-carta { --w: 120px; width: var(--w); aspect-ratio: 7 / 12; position: relative; border-radius: 8px; flex: 0 0 auto;
  background: #0a0a0a; color: #f3efe6; border: 1px solid rgba(201,168,76,.7); box-shadow: 0 6px 18px rgba(0,0,0,.25);
  font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); padding: 0; overflow: visible; }
.bge-carta-grande { --w: 170px; }
.bge-carta-fronte, .bge-carta-dorso { position: absolute; inset: 0; border-radius: 7px; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; padding: 10px; }
.bge-carta-fronte { background: radial-gradient(circle at 50% 35%, #1d1a12 0%, #0a0a0a 70%); }
.bge-carta-fronte::before, .bge-carta-dorso::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(201,168,76,.45); border-radius: 4px; pointer-events: none; }
.bge-carta.has-img .bge-carta-fronte { padding: 0; }
.bge-carta.has-img .bge-carta-fronte::before { display: none; }
.bge-carta img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bge-carta-num { color: #c9a84c; font-size: 1.4rem; letter-spacing: .12em; }
.bge-carta-nome { font-size: 1.1rem; line-height: 1.2; }
.bge-carta-grande .bge-carta-num { font-size: 1.9rem; }
.bge-carta-grande .bge-carta-nome { font-size: 1.35rem; }
.bge-carta-dorso { background: repeating-linear-gradient(45deg, #0a0a0a 0 10px, #14120c 10px 20px); }
.bge-carta-dorso-segno { color: #c9a84c; font-size: 2.4rem; }

/* l'arcano del sogno */
.bge-sogni-arcano { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.bge-sogni-arcano-txt { flex: 1 1 260px; }
.bge-sogni-arcano-tipo { font-size: 1.15rem; margin: 0 0 4px; }
.bge-sogni-arcano-tema { color: #8a6d12; font-style: italic; margin: 0 0 10px; }

/* la stesa */
.bge-stesa-intro { font-size: 1.05rem; line-height: 1.6; }
.bge-stesa-tavolo { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }
.bge-stesa-pos { display: flex; flex-direction: column; align-items: center; text-align: center; opacity: 0; animation: bgeStesaIn .5s ease forwards; animation-delay: calc(var(--i) * .12s); }
@keyframes bgeStesaIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.bge-carta-gira { --w: 100%; max-width: 150px; cursor: pointer; background: transparent; border: 0; box-shadow: none; perspective: 900px; }
.bge-carta-dentro { position: absolute; inset: 0; transition: transform .7s cubic-bezier(.2,.7,.2,1); transform-style: preserve-3d; border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25); border: 1px solid rgba(201,168,76,.7); }
.bge-carta-gira .bge-carta-dorso, .bge-carta-gira .bge-carta-fronte { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.bge-carta-gira .bge-carta-fronte { transform: rotateY(180deg); }
.bge-carta-gira.is-girata .bge-carta-dentro { transform: rotateY(180deg); }
.bge-carta-gira:not(.is-girata):hover .bge-carta-dentro { transform: translateY(-4px); }
.bge-carta-gira:focus-visible { outline: 2px solid #c9a84c; outline-offset: 4px; }
.bge-stesa-lbl { margin-top: 10px; font-size: .95rem; line-height: 1.35; }
.bge-stesa-lbl strong { display: block; font-family: var(--bge-font, Georgia, serif); font-size: 1.05rem; }
.bge-stesa-lbl span { color: var(--bge-gray-600, #666); }
.bge-stesa-testo { margin-top: 8px; font-size: .98rem; line-height: 1.5; animation: bgeStesaIn .5s ease; }
.bge-stesa-nome { font-weight: 600; color: #8a6d12; margin: 0 0 4px; }
.bge-stesa-testo p { margin: 0 0 4px; }
.bge-stesa-azioni { text-align: center; }
.bge-stesa-pesca, .bge-sogni-vai, .bge-sogni-cta-btn {
  display: inline-block; background: #0a0a0a; color: #f3efe6 !important; border: 1px solid #c9a84c; border-radius: 2px;
  padding: 13px 28px; font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.1rem; letter-spacing: .06em;
  cursor: pointer; text-decoration: none !important; transition: background .2s, color .2s; }
.bge-stesa-pesca:hover, .bge-sogni-vai:hover, .bge-sogni-cta-btn:hover { background: #c9a84c; color: #0a0a0a !important; }
.bge-stesa-fine { animation: bgeStesaIn .6s ease; }
.bge-sogni-cta { text-align: center; margin: 26px 0 8px; padding: 26px 20px; background: #0a0a0a; color: #f3efe6; border: 1px solid rgba(201,168,76,.5); border-radius: 4px; }
.bge-sogni-cta-txt { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.5rem; margin: 0 0 16px; color: #f3efe6; }
.bge-sogni-cta .bge-sogni-cta-btn { background: #c9a84c; color: #0a0a0a !important; }
.bge-sogni-cta .bge-sogni-cta-btn:hover { background: #f3efe6; }

/* «Cosa hai sognato?» */
.bge-sogni-cerca { background: #f7f4ec; border: 1px solid #e6dfcc; border-radius: 4px; padding: 26px 24px; margin: 0 0 32px; }
.bge-sogni-cerca-tit { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 2rem; font-weight: 500; margin: 0 0 14px; text-align: center; }
.bge-sogni-form { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.bge-sogni-form textarea { width: 100%; max-width: 760px; font-size: 1.05rem; line-height: 1.5; padding: 14px 16px; border: 1px solid #cfc6ae; border-radius: 3px; background: #fff; resize: vertical; font-family: inherit; }
.bge-sogni-form textarea:focus { outline: 2px solid #c9a84c; outline-offset: 1px; }
.bge-sogni-esito { margin-top: 18px; }
.bge-sogni-msg { text-align: center; font-size: 1.05rem; }
.bge-sogni-sub { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.5rem; font-weight: 500; margin: 26px 0 12px; border-bottom: 1px solid #e0d6bd; padding-bottom: 6px; }
.bge-sogni-trovati { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.bge-sogni-trovato { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid #e6dfcc; border-top: 2px solid #0a0a0a; padding: 14px 16px; text-decoration: none !important; color: inherit !important; transition: box-shadow .2s, transform .2s; }
.bge-sogni-trovato:hover { box-shadow: 0 6px 16px rgba(0,0,0,.08); transform: translateY(-2px); }
.bge-sogni-trovato strong { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.2rem; }
.bge-sogni-trovato span { font-size: .95rem; line-height: 1.45; color: #444; }
.bge-sogni-trovato em { font-style: normal; color: #8a6d12; font-size: .9rem; }

@media (max-width: 760px) {
  .bge-stesa-tavolo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bge-stesa-pos:first-child { grid-column: 1 / -1; }
  .bge-stesa-pos:first-child .bge-carta-gira { max-width: 140px; }
  .bge-carta-grande { --w: 140px; }
  .bge-sogni-cerca { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .bge-carta-dentro, .bge-stesa-pos, .bge-stesa-testo, .bge-stesa-fine { transition: none; animation: none; opacity: 1; }
}

/* numeri del lotto divinatorio */
.bge-sogni-numeri { list-style: none; margin: 10px 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 18px; }
.bge-sogni-numeri li { display: flex; flex-direction: column; align-items: center; gap: 6px; max-width: 110px; text-align: center; }
.bge-sogni-palla { width: 58px; height: 58px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 35% 30%, #2a2416 0%, #0a0a0a 70%); color: #c9a84c; border: 1px solid #c9a84c;
  font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.6rem; font-weight: 600; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.bge-sogni-palla-voce { font-size: .92rem; line-height: 1.3; color: #555; }
.bge-sogni-numeri-nota { font-size: .9rem; color: #777; font-style: italic; }
.bge-sogni-trovato-num { color: #8a6d12 !important; font-weight: 600; }
/* guida */
.bge-sogni-tab { width: 100%; border-collapse: collapse; font-size: 1rem; }
.bge-sogni-tab th, .bge-sogni-tab td { text-align: left; padding: 9px 8px; border-bottom: 1px solid var(--bge-gray-200, #e8e8e8); }
.bge-sogni-tab th { font-family: var(--bge-font, Georgia, serif); font-weight: 600; }
.bge-sogni-tab td:first-child { white-space: nowrap; font-weight: 600; }

/* guide a bottoni (come le guide delle piante) */
.bge-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bge-guida-card { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #fff; border: 1px solid var(--bge-gray-200, #e5e2da); border-radius: 10px; text-decoration: none !important; color: inherit !important; transition: border-color .2s, box-shadow .25s, transform .2s; }
a.bge-guida-card:hover, .bge-guida-det:not([open]):hover { border-color: rgba(201,168,44,.8); box-shadow: 0 6px 22px rgba(0,0,0,.07); transform: translateY(-2px); }
.bge-guida-det > summary { list-style: none; cursor: pointer; display: flex; flex-direction: column; gap: 6px; }
.bge-guida-det > summary::-webkit-details-marker { display: none; }
.bge-guida-det[open] { grid-column: 1 / -1; }
.bge-guida-det[open] .bge-guida-go { visibility: hidden; }
.bge-guida-ico { font-size: 22px; color: #C9A84C; line-height: 1; }
.bge-guida-tit { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 21px; font-weight: 600; letter-spacing: .02em; }
.bge-guida-txt { font-size: 15px; line-height: 1.5; color: var(--bge-gray-600, #555); }
.bge-guida-go { margin-top: 4px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8a6d12; }
.bge-guida-inline { margin-top: 14px; }
.bge-guida-inline .bge-section { margin-bottom: 0; }
.bge-guide-intro { font-size: 16px; line-height: 1.6; color: var(--bge-gray-600, #555); margin: 0 0 18px; }
.bge-sogni-guida-h3 { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.35rem; font-weight: 600; margin: 22px 0 8px; }
.bge-sogni-codice { padding-left: 1.4em; margin: 10px 0; }
.bge-sogni-codice li { margin: 0 0 14px; line-height: 1.65; padding-left: 4px; }
.bge-sogni-codice li::marker { font-family: var(--bge-font, Georgia, serif); font-weight: 700; color: #8a6d12; }
.bge-sogni-guida-lista li { margin: 0 0 8px; line-height: 1.6; }
.bge-sogni-chiavi { margin: 0 0 8px; border-top: 1px solid var(--bge-gray-200, #e8e8e8); }
.bge-sogni-chiavi > div { display: grid; grid-template-columns: 170px 1fr; gap: 12px; padding: 8px 4px; border-bottom: 1px solid var(--bge-gray-200, #e8e8e8); }
.bge-sogni-chiavi dt { font-weight: 600; }
.bge-sogni-chiavi dd { margin: 0; }
.bge-testo-rosso.bge-sogni-rosso { background: #fff5f5; border: 1px solid #e3a3a3; border-left: 4px solid #b42318; border-radius: 4px; padding: 14px 18px; margin: 18px 0 0; color: #5a1a14; }
.bge-sogni-rosso p { margin: 0 0 10px; }

/* calcolatore e piramide */
.bge-calcolo { background: #f7f4ec; border: 1px solid #e6dfcc; border-radius: 4px; padding: 20px; margin: 10px 0 16px; }
.bge-calcolo-form label { display: block; font-weight: 600; margin-bottom: 8px; }
.bge-calcolo-riga { display: flex; gap: 10px; flex-wrap: wrap; }
.bge-calcolo-riga input { flex: 1 1 220px; font-size: 1.05rem; padding: 11px 14px; border: 1px solid #cfc6ae; border-radius: 3px; background: #fff; }
.bge-calcolo-esito { margin-top: 14px; }
.bge-calcolo-tit { text-align: center; font-size: 1.1rem; }
.bge-piramide { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 12px 0 16px; font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); }
.bge-piramide-parola, .bge-piramide-riga { display: flex; gap: 4px; }
.bge-piramide span { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.bge-piramide-parola span { color: #8a6d12; font-weight: 700; letter-spacing: .05em; }
.bge-piramide-riga span { background: #0a0a0a; color: #f3efe6; border: 1px solid rgba(201,168,76,.55); border-radius: 3px; }
.bge-piramide-riga.is-vertice span { background: #c9a84c; color: #0a0a0a; font-weight: 700; }
.bge-calcolo-lettere { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 14px; }
.bge-calcolo-lettere span { display: inline-flex; flex-direction: column; align-items: center; min-width: 34px; padding: 4px 2px; border: 1px solid #e0d6bd; border-radius: 3px; background: #fff; font-size: .95rem; }
.bge-calcolo-lettere b { color: #8a6d12; }
.bge-calcolo-tab summary { cursor: pointer; color: #8a6d12; font-weight: 600; margin-top: 10px; }
@media (max-width: 640px) {
  .bge-guide-grid { grid-template-columns: 1fr; }
  .bge-sogni-chiavi > div { grid-template-columns: 1fr; gap: 2px; }
  .bge-piramide span { width: 26px; height: 28px; font-size: 1rem; }
}

/* targhette delle guide dentro il significato */
.bge-sogni-targhette { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 4px; padding-top: 14px; border-top: 1px dashed #e0d6bd; }
.bge-sogni-targhette-lbl { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #8a6d12; margin-right: 4px; }
.bge-sogni-targhetta { display: inline-flex; align-items: center; gap: 6px; padding: 6px 13px; border: 1px solid rgba(201,168,76,.6); border-radius: 999px; background: #fffdf7; color: #2a2416 !important; font-size: 14px; text-decoration: none !important; transition: background .2s, color .2s; }
.bge-sogni-targhetta span { color: #c9a84c; }
.bge-sogni-targhetta:hover { background: #0a0a0a; color: #f3efe6 !important; }

/* le carte del sogno, nell'ordine del racconto */
.bge-sogni-seq-intro { margin: 0 0 12px; }
.bge-sogni-seq { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 8px; margin: 10px 0 6px; }
.bge-sogni-seq-pos { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 128px; text-align: center; text-decoration: none !important; color: inherit !important;
  opacity: 0; animation: bgeSeqIn .7s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(var(--i) * .35s); }
@keyframes bgeSeqIn { from { opacity: 0; transform: translateY(18px) rotateY(80deg); } to { opacity: 1; transform: none; } }
.bge-sogni-seq-pos .bge-carta { --w: 112px; display: block; transition: transform .25s, box-shadow .25s; }
.bge-sogni-seq-pos:hover .bge-carta { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,.3); }
.bge-sogni-seq-voce { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8a6d12; }
.bge-sogni-seq-arc { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.1rem; font-weight: 600; line-height: 1.2; }
.bge-sogni-seq-chiave { font-size: .9rem; color: #666; }
.bge-sogni-seq-freccia { color: #c9a84c; font-size: 1.4rem; opacity: 0; animation: bgeStesaIn .4s ease forwards; animation-delay: .6s; }
.bge-sogni-seq-frase { text-align: center; font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.25rem; font-style: italic; margin: 12px auto 0; max-width: 760px; }
@media (max-width: 640px) {
  .bge-sogni-seq-pos { width: 96px; }
  .bge-sogni-seq-pos .bge-carta { --w: 84px; }
  .bge-sogni-seq-freccia { display: none; }
}
@media (prefers-reduced-motion: reduce) { .bge-sogni-seq-pos, .bge-sogni-seq-freccia { animation: none; opacity: 1; } }

/* il significato del tuo sogno, per intero */
.bge-sogni-letture { display: flex; flex-direction: column; gap: 18px; }
.bge-sogni-lettura { background: #fff; border: 1px solid #e6dfcc; border-top: 2px solid #0a0a0a; border-radius: 3px; padding: 20px 22px; scroll-margin-top: 90px; }
.bge-sogni-lettura-head { display: flex; gap: 16px; align-items: center; margin-bottom: 8px; }
.bge-sogni-lettura-head .bge-carta { --w: 64px; display: block; flex: 0 0 auto; }
.bge-sogni-lettura-head .bge-carta-num { font-size: .95rem; }
.bge-sogni-lettura-head .bge-carta-nome { font-size: .72rem; }
.bge-sogni-lettura h4 { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.5rem; font-weight: 600; margin: 0; }
.bge-sogni-lettura-arc { margin: 2px 0 0; color: #8a6d12; font-style: italic; }
.bge-sogni-lettura h5 { font-family: var(--bge-font, 'Cormorant Garamond', Georgia, serif); font-size: 1.15rem; font-weight: 600; margin: 16px 0 4px; color: #2a2416; }
.bge-sogni-lettura-testi p { line-height: 1.65; margin: 0 0 8px; }
.bge-sogni-lettura-link { margin-top: 12px !important; font-size: .95rem; }
.bge-sogni-lettura-link a { color: #8a6d12; }
@media (max-width: 640px) { .bge-sogni-lettura { padding: 16px; } .bge-sogni-lettura-head .bge-carta { --w: 52px; } }
.bge-sogni-tua-variante { background: #fbf6e7; border-left: 3px solid #c9a84c; padding: 10px 14px; margin: 6px 0 10px; }
.bge-sogni-tua-variante h5 { margin-top: 0 !important; color: #8a6d12 !important; }
.bge-sogni-tua-variante p { margin: 0 0 6px; }
