.cooked-recipe-card { position: relative; }
.cfa-flag-overlay { position: absolute; z-index: 60; pointer-events: none; display:flex; align-items:center; }
.cfa-flag-wrap{ display:inline-flex; align-items:center; gap:6px; background:transparent; }
.cfa-flag-img { width: var(--cfa-flag-size,36px); height: calc(var(--cfa-flag-size,36px) * 0.66); object-fit: cover; border-radius: 3px; box-shadow: none; display:block; }
.cfa-flag-country{ font-size: 0.85rem; margin-left:4px; color: #222; }

.cfa-flag-under { margin-top:6px; display:flex; align-items:center; }
.cfa-flag-under .cfa-flag-wrap { gap:8px; }

/* Elementor widget fixes: enforce same size and border-radius */
.elementor .cfa-flag-overlay { position: absolute; }
.elementor .cfa-flag-overlay .cfa-flag-img { width: var(--cfa-flag-size,36px) !important; height: calc(var(--cfa-flag-size,36px) * 0.66) !important; object-fit: cover !important; border-radius: 3px !important; box-shadow: none !important; }

/* If display type includes name in overlay, make sure it doesn't overflow */
.cfa-flag-overlay.cfa-flag-display-name { right: 8px; bottom: 8px; max-width: 45%; padding:4px; background: rgba(255,255,255,0.9); border-radius:4px; }
.cfa-flag-overlay.cfa-flag-display-name .cfa-flag-country { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
