.elementor-kit-6{--e-global-color-primary:#E8B4B8;--e-global-color-secondary:#2C2C2C;--e-global-color-text:#6A6A6A;--e-global-color-accent:#D98C91;--e-global-typography-primary-font-family:"Rufina";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:lowercase;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;background-color:#F7F3F0;color:#7A7A7A;font-family:"Rufina", rufina;font-weight:800;font-style:normal;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.site-header{background-color:#FDF7F7;padding-inline-end:0px;padding-inline-start:0px;}.site-footer{background-color:#FDF7F7;}.elementor-kit-6 a{color:#E8B4B8;font-family:"Rufina", rufina;}.elementor-kit-6 h1{color:#E8B4B8;font-family:"Rufina", rufina;}.elementor-kit-6 h2{color:#2C2C2C;}.elementor-kit-6 h3{font-family:"Rufina", rufina;}.elementor-kit-6 h4{color:#2C2C2C;font-family:"Rufina", rufina;}.elementor-kit-6 h5{font-family:"Rufina", rufina;}.elementor-kit-6 h6{color:#020101;font-family:"Rufina", rufina;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Rufina", rufina;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding .site-logo img{width:0px;max-width:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== GBitesFood – CSS globale del sito =====
   Colori: rosa antico var(--e-global-color-accent) #D98C91, antracite #2C2C2C,
   rosa scuro leggibile #A8545C. */

/* --- Home: titolo principale (widget atomico, classe e-dd73215-…) --- */
.elementor-107 h1[class*="e-dd73215"] { color: var(--e-global-color-accent, #D98C91) !important; overflow-wrap: break-word; }
@media (max-width: 1024px) { .elementor-107 h1[class*="e-dd73215"] { font-size: 44px !important; line-height: 1.1 !important; } }
@media (max-width: 767px)  { .elementor-107 h1[class*="e-dd73215"] { font-size: 34px !important; } }

/* Home: il blocco iniziale non deve uscire dallo schermo (aveva un margine sinistro di 25px con larghezza 100%) */
.elementor-107 .elementor-element-6cebe08 { --margin-left: 0px; --margin-right: 0px; margin-left: 0 !important; margin-right: 0 !important; }

/* Home: foto del blocco iniziale ben visibile su telefono e tablet */
@media (max-width: 1024px) { .elementor-107 .elementor-element-0910b2c { min-height: 320px !important; background-size: cover !important; background-position: center !important; } }
@media (max-width: 767px)  { .elementor-107 .elementor-element-0910b2c { min-height: 260px !important; } }

/* --- Titoli di pagina del tema (Chi sono, Contatti, News) più leggibili --- */
.page-header .entry-title { color: var(--e-global-color-accent, #D98C91) !important; }

/* --- Header: icona menu mobile nei colori del brand --- */
.elementor-location-header .elementor-menu-toggle,
.elementor-location-header .elementor-menu-toggle svg { color: var(--e-global-color-accent, #D98C91) !important; fill: var(--e-global-color-accent, #D98C91) !important; }
.elementor-location-header .elementor-menu-toggle { background: transparent !important; }
/* Header mobile: logo e icona menu sulla stessa riga */
@media (max-width: 767px) {
  .elementor-265 .elementor-element-555d1e26 { flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; }
  .elementor-265 .elementor-element-31fadbe { --width: auto !important; width: auto !important; flex: 0 0 auto !important; }
}

/* --- Griglie di articoli/ricette (classe gb-news sul widget Articoli) --- */
.gb-news .elementor-posts-container { gap: 24px; }
.gb-news .elementor-post {
  background: #fff;
  border: 1px solid #e6dcd8;
  border-radius: 18px;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.gb-news .elementor-post:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -20px rgba(217,140,145,.6); }
.gb-news .elementor-post__thumbnail__link { margin-bottom: 0 !important; }
.gb-news .elementor-post__thumbnail { padding-bottom: 0 !important; }
/* le foto restano sempre larghe quanto la card, qualunque sia la loro dimensione originale */
.gb-news .elementor-post { min-width: 0; }
.gb-news .elementor-post__thumbnail__link, .gb-news .elementor-post__thumbnail { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden; }
.gb-news .elementor-post__thumbnail img { max-width: 100% !important; height: auto; }
.gb-news .elementor-post__thumbnail img { position: static !important; transform: none !important; width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.gb-news .elementor-post__text { padding: 20px; }
.gb-news .elementor-post__title,
.gb-news .elementor-post__title a {
  font-family: var(--e-global-typography-primary-font-family), Georgia, serif;
  font-size: 1.35rem !important; font-weight: 700 !important; line-height: 1.25 !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--e-global-color-secondary, #2C2C2C);
}
.gb-news .elementor-post__title a:hover { color: #A8545C; }
.gb-news .elementor-post__meta-data { font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #A8545C; border: 0; }
.gb-news .elementor-post__excerpt p { color: var(--e-global-color-text, #6A6A6A); font-size: .95rem; }
.gb-news .elementor-post__read-more { color: #A8545C; font-weight: 600; text-transform: none; }
.gb-news .elementor-posts-nothing-found,
.gb-empty { text-align: center; color: var(--e-global-color-text, #6A6A6A); background: #fff; border: 1px dashed #e6dcd8; border-radius: 18px; padding: 40px 24px; font-size: 1.05rem; }

.gb-news .elementor-post__title { margin-bottom: 8px !important; }
.gb-news .elementor-post__excerpt p { font-size: .95rem !important; line-height: 1.6 !important; }

/* --- Pagina ricetta (classe gb-recipe sul contenuto) --- */
.gb-recipe { font-size: 17px; line-height: 1.75; color: var(--e-global-color-text, #6A6A6A); }
.gb-recipe p { margin: 0 0 1.2em; }
.gb-recipe h2 { font-family: var(--e-global-typography-primary-font-family), Georgia, serif; font-size: 30px; color: #2C2C2C; margin: 1.6em 0 .6em; text-transform: none; }
.gb-recipe ul, .gb-recipe ol { margin: 0 0 1.4em; padding-left: 1.2em; }
.gb-recipe li { margin-bottom: .5em; }
.gb-recipe li::marker { color: #D98C91; }
/* primo elenco = tempi e porzioni, in un riquadro */
.gb-recipe .elementor-widget-container > ul:first-of-type,
.gb-recipe > ul:first-of-type { list-style: none; padding: 20px 24px; background: #fff; border: 1px solid #e6dcd8; border-radius: 18px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 24px; }
.gb-recipe .elementor-widget-container > ul:first-of-type li,
.gb-recipe > ul:first-of-type li { margin: 0; font-size: 15px; color: #2C2C2C; }
/* procedimento: passi numerati in cerchietti rosa */
.gb-recipe ol { list-style: none; counter-reset: passo; padding-left: 0; }
.gb-recipe ol li { counter-increment: passo; position: relative; padding-left: 48px; margin-bottom: 1em; }
.gb-recipe ol li::before { content: counter(passo); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: #D98C91; color: #fff; font-weight: 600; font-size: 15px; display: flex; align-items: center; justify-content: center; }
@media (max-width: 767px) {
  .gb-recipe { font-size: 16px; }
  .gb-recipe h2 { font-size: 26px; }
  .gb-recipe .elementor-widget-container > ul:first-of-type, .gb-recipe > ul:first-of-type { grid-template-columns: 1fr; }
}

/* --- Articoli (classe gb-recipe gb-article): stessi testi delle ricette, ma liste normali --- */
.gb-article .elementor-widget-container > ul:first-of-type, .gb-article > ul:first-of-type { display: block; list-style: disc; padding: 0 0 0 1.2em; background: none; border: 0; border-radius: 0; }
.gb-article .elementor-widget-container > ul:first-of-type li, .gb-article > ul:first-of-type li { margin-bottom: .5em; font-size: inherit; color: inherit; }
.gb-recipe h3 { font-family: var(--e-global-typography-primary-font-family), Georgia, serif; font-size: 22px; color: #2C2C2C; margin: 1.4em 0 .5em; }
.gb-recipe a { color: #A8545C; text-decoration: underline; text-underline-offset: 3px; }
.gb-recipe blockquote { margin: 1.6em 0; padding: 18px 22px; background: #fff; border-left: 4px solid #D98C91; border-radius: 0 14px 14px 0; font-style: normal; }
.gb-recipe blockquote p { margin: 0; }
.gb-recipe figure.wp-block-table { margin: 1.4em 0; overflow-x: auto; }
.gb-recipe table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 14px; overflow: hidden; font-size: 15px; }
.gb-recipe th, .gb-recipe td { padding: 10px 14px; border-bottom: 1px solid #e6dcd8; text-align: left; }
.gb-recipe th { background: #f3e1e2; color: #2C2C2C; font-weight: 600; }
.gb-recipe figcaption { font-size: 13px; color: #6A6A6A; margin-top: 6px; }

/* --- Commenti (modulo "Lascia un commento" del tema) --- */
.comments-area { max-width: 760px; margin: 8px auto 72px; padding: 0 20px; box-sizing: content-box; }
.comments-area .comment-respond { background: #fff; border: 1px solid #e6dcd8; border-radius: 18px; padding: 32px; }
.comments-area .comment-reply-title { font-family: var(--e-global-typography-primary-font-family), Georgia, serif; font-size: 30px; font-weight: 700; color: #2C2C2C; margin: 0 0 6px; }
.comments-area .comment-reply-title small { display: block; font-size: 14px; font-family: var(--e-global-typography-text-font-family), sans-serif; margin-top: 4px; }
.comments-area .comment-reply-title small a { color: #A8545C; }
#commentform { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin: 0; font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: 400; }
#commentform p, #commentform span, .comments-area .comment-respond { font-weight: 400; }
#commentform > p { margin: 0; grid-column: 1 / -1; }
#commentform > p.comment-form-author, #commentform > p.comment-form-email { grid-column: auto; }
#commentform .comment-notes, #commentform .logged-in-as { font-size: 14px; color: #6A6A6A; margin-bottom: 4px; }
#commentform .logged-in-as a { color: #A8545C; }
#commentform .required { color: #A8545C; }
#commentform label { display: block; font-size: 14px; font-weight: 600; color: #2C2C2C; margin-bottom: 6px; }
#commentform input[type="text"], #commentform input[type="email"], #commentform input[type="url"], #commentform textarea {
  width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; color: #2C2C2C;
  background: #f7f3f0; border: 1px solid #e6dcd8; border-radius: 12px; padding: 12px 14px;
  transition: border-color .2s, box-shadow .2s, background .2s; outline: none;
}
#commentform textarea { min-height: 150px; resize: vertical; }
#commentform input:focus, #commentform textarea:focus { border-color: #D98C91; background: #fff; box-shadow: 0 0 0 3px rgba(217,140,145,.25); }
#commentform .comment-form-url { display: none; }
#commentform .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; }
#commentform .comment-form-cookies-consent input { accent-color: #D98C91; width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; }
#commentform .comment-form-cookies-consent label { font-weight: 400; color: #6A6A6A; margin: 0; }
#commentform .form-submit { margin-top: 4px; }
#commentform #submit { font: inherit; font-weight: 600; font-size: 16px; color: #fff; background: #2C2C2C; border: 0; border-radius: 999px; padding: 14px 32px; cursor: pointer; transition: background .2s, transform .2s; }
#commentform #submit:hover, #commentform #submit:focus { background: #A8545C; transform: translateY(-2px); }
/* elenco dei commenti */
.comments-area .title-comments { font-family: var(--e-global-typography-primary-font-family), Georgia, serif; font-size: 26px; color: #2C2C2C; margin: 0 0 16px; }
.comments-area .comment-list { list-style: none; padding: 0; margin: 0 0 32px; }
.comments-area .comment-list .comment-body { background: #fff; border: 1px solid #e6dcd8; border-radius: 16px; padding: 18px 20px; margin-bottom: 14px; }
.comments-area .comment-list .children { list-style: none; padding-left: 24px; }
.comments-area .comment-author img { border-radius: 50%; }
.comments-area .comment-metadata, .comments-area .comment-metadata a { font-size: 13px; color: #6A6A6A; }
.comments-area .reply a { color: #A8545C; font-weight: 600; font-size: 14px; }
@media (max-width: 767px) {
  .comments-area .comment-respond { padding: 22px 18px; }
  .comments-area .comment-reply-title { font-size: 26px; }
  #commentform { grid-template-columns: 1fr; }
  #commentform #submit { width: 100%; }
}

/* --- Modulo contatti (widget Modulo con classe gb-form) --- */
.gb-form .elementor-field-group { margin-bottom: 16px; }
.gb-form .elementor-field-label { font-family: var(--e-global-typography-text-font-family), sans-serif; font-size: 14px !important; font-weight: 600 !important; color: #2C2C2C !important; margin-bottom: 6px; text-transform: none !important; }
.gb-form .elementor-field-textual, .gb-form select.elementor-field {
  font-family: var(--e-global-typography-text-font-family), sans-serif !important; font-size: 16px !important; color: #2C2C2C !important;
  background: #f7f3f0 !important; border: 1px solid #e6dcd8 !important; border-radius: 12px !important; padding: 12px 14px !important; min-height: 48px;
  transition: border-color .2s, box-shadow .2s, background .2s; box-shadow: none !important;
}
.gb-form textarea.elementor-field-textual { min-height: 150px; }
.gb-form .elementor-field-textual:focus, .gb-form select.elementor-field:focus { border-color: #D98C91 !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(217,140,145,.25) !important; outline: none; }
.gb-form .elementor-select-wrapper .select-caret-down-wrapper { right: 14px; color: #A8545C; }
.gb-form .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 14px; color: #6A6A6A; font-weight: 400; }
.gb-form .elementor-field-type-acceptance input { accent-color: #D98C91; width: 18px; height: 18px; }
.gb-form .elementor-field-type-acceptance a, .gb-form a { color: #A8545C; text-decoration: underline; }
.gb-form .elementor-button { font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: 600 !important; font-size: 16px !important; color: #fff !important; background: #2C2C2C !important; border-radius: 999px !important; padding: 15px 32px !important; text-transform: none !important; transition: background .2s, transform .2s; }
.gb-form .elementor-button:hover, .gb-form .elementor-button:focus { background: #A8545C !important; transform: translateY(-2px); }
.gb-form .elementor-message { font-family: var(--e-global-typography-text-font-family), sans-serif; font-size: 15px; border-radius: 12px; padding: 12px 14px; margin-top: 12px; }
.gb-form .elementor-message-success { background: #f3e1e2; color: #2C2C2C; }
.gb-form .elementor-message-danger, .gb-form .elementor-error .elementor-message { color: #A8545C; }

/* --- Link nei testi: leggibili e con lo stesso carattere del testo (il link globale era rosa chiaro in Rufina) --- */
.elementor-widget-text-editor a { color: #A8545C; font-family: inherit; text-decoration: underline; text-underline-offset: 3px; }
.elementor-widget-text-editor a:hover { color: #8C434A; }

/* --- Card categorie cliccabili (Chi sono) --- */
.gb-cat-card { text-decoration: none !important; transition: transform .2s, box-shadow .2s, border-color .2s; }
.gb-cat-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -20px rgba(217,140,145,.6); border-color: #D98C91 !important; }
.gb-cat-card:hover .elementor-heading-title { color: #A8545C !important; }

/* --- Chi sono: foto di Gaia ingrandita e centrata sul viso (l'originale ha molto muro sopra) --- */
.gb-about-hero .elementor-widget-image .elementor-widget-container, .gb-about-hero .elementor-widget-image { border-radius: 24px; overflow: hidden; }
.gb-about-hero .elementor-widget-image img { object-position: 50% 62% !important; transform: scale(1.35); transform-origin: 50% 58%; }

/* --- Riquadri categoria con foto (stile home) --- */
.gb-photo-tile { overflow: hidden; text-decoration: none !important; transition: transform .25s, box-shadow .25s; }
.gb-photo-tile:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(44,44,44,.45); }
.gb-photo-tile:hover::before { background-color: rgba(44,44,44,.32) !important; }
.gb-photo-tile:hover .elementor-heading-title { background: #A8545C; }
.gb-photo-tile .elementor-heading-title { display: inline-block; transition: background .2s; }/* End custom CSS */