.bw-ideas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:0;isolation:isolate}
.bw-ideas .bw-idea{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:420px;margin:0;padding:clamp(28px,4vw,76px);background:var(--bw-idea-color,#910402);color:#fff;cursor:default;transform-style:preserve-3d}
.bw-idea--wide{grid-column:span 2}.bw-idea--tall{grid-row:span 2}
.bw-idea:hover{z-index:2}
.bw-ideas .bw-idea__image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:filter .35s ease}
.bw-idea__overlay{position:absolute;inset:0;background:var(--bw-idea-color,#910402);opacity:1;transition:opacity .35s ease}
.bw-idea--image .bw-idea__overlay{opacity:0}
.bw-idea__copy{position:relative;z-index:1;width:100%;max-width:640px;text-align:center;transition:opacity .35s ease,transform .35s ease}
.bw-idea--image .bw-idea__copy{opacity:0;transform:translateY(12px)}
.bw-ideas .bw-idea__title{margin:0 0 24px;color:inherit;font-family:inherit;font-size:clamp(22px,2.15vw,36px);line-height:1.2;font-weight:700;overflow-wrap:anywhere}
.bw-ideas .bw-idea__description{margin:0;color:inherit;font-size:clamp(16px,1.25vw,20px);line-height:1.6;font-weight:400;overflow-wrap:anywhere}
.bw-idea--image:hover .bw-idea__overlay{opacity:.94}
.bw-idea--image:hover .bw-idea__copy{opacity:1;transform:none}
.bw-idea--image:hover .bw-idea__image{filter:brightness(.8)}
/* Added by JS only after an observer is available: content remains readable without JS. */
.bw-idea.bw-idea--waiting{opacity:0;translate:0 28px}
.bw-idea.bw-idea--revealed{opacity:1;translate:0 0;transition:opacity .7s ease,translate .7s ease}
@media(max-width:767px){.bw-ideas{grid-template-columns:minmax(0,1fr)}.bw-ideas .bw-idea{grid-column:auto;grid-row:auto;min-height:360px;padding:40px 28px}.bw-ideas .bw-idea__title{font-size:25px}.bw-idea--image .bw-idea__overlay,.bw-idea--image:hover .bw-idea__overlay{opacity:.65}.bw-idea--image .bw-idea__copy{opacity:1;transform:none;text-shadow:0 1px 5px rgba(0,0,0,.55)}}
@media(hover:none),(pointer:coarse){.bw-idea--image .bw-idea__overlay,.bw-idea--image:hover .bw-idea__overlay{opacity:.65}.bw-idea--image .bw-idea__copy{opacity:1;transform:none;text-shadow:0 1px 5px rgba(0,0,0,.55)}}
@media(prefers-reduced-motion:reduce){.bw-ideas .bw-idea,.bw-ideas .bw-idea *{transition:none!important;transform:none!important;translate:none!important}.bw-idea.bw-idea--waiting{opacity:1}}

/* Mosaico editoriale: dimensioni salvate nelle schede, stabili tra le visite. */
.bw-ideas--mosaic{grid-auto-rows:minmax(360px,auto)}
.bw-ideas--mosaic .bw-idea{min-height:360px;padding:clamp(22px,2vw,40px)}
.bw-ideas--mosaic .bw-idea--large{grid-column:span 2;grid-row:span 2}
.bw-ideas--mosaic .bw-idea__title{font-size:clamp(18px,1.5vw,26px);margin-bottom:18px;line-height:1.25}
.bw-ideas--mosaic .bw-idea__description{font-size:clamp(14px,1.15vw,18px);line-height:1.55}
.bw-ideas--mosaic .bw-idea--large .bw-idea__title,.bw-ideas--mosaic .bw-idea--wide .bw-idea__title{font-size:clamp(23px,2.15vw,36px)}
.bw-ideas--mosaic .bw-idea--large .bw-idea__description,.bw-ideas--mosaic .bw-idea--wide .bw-idea__description{font-size:clamp(16px,1.25vw,20px)}
@media(min-width:1024px){.bw-ideas--mosaic{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.bw-ideas--mosaic{grid-auto-rows:auto}.bw-ideas--mosaic .bw-idea{grid-column:auto;grid-row:auto;padding:40px 28px}.bw-ideas--mosaic .bw-idea .bw-idea__title{font-size:25px}.bw-ideas--mosaic .bw-idea .bw-idea__description{font-size:16px;line-height:1.6}}
